// A - Longest Segment
#include<bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
int arr[n][2];
for (int i = 0; i < n; ++i) {
cin >> arr[i][0] >> arr[i][1];
}
double maxLen = 0;
for (int i = 0; i < n; ++i) {
for (int j = i + 1; j < n; ++j) {
int x2 = arr[j][0];
int x1 = arr[i][0];
int y2 = arr[j][1];
int y1 = arr[i][1];
double distance = sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
if (distance > maxLen) {
maxLen = distance;
}
}
}
cout << fixed << setprecision(10) << maxLen;
return 0;
}
Ly8gIEEgLSBMb25nZXN0IFNlZ21lbnQKI2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewogIGludCBuOwogIGNpbiA+PiBuOwogIGludCBhcnJbbl1bMl07CiAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpIHsKICAgIGNpbiA+PiBhcnJbaV1bMF0gPj4gYXJyW2ldWzFdOwogIH0KCiAgZG91YmxlIG1heExlbiA9IDA7CiAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpIHsKICAgIGZvciAoaW50IGogPSBpICsgMTsgaiA8IG47ICsraikgewogICAgICBpbnQgeDIgPSBhcnJbal1bMF07CiAgICAgIGludCB4MSA9IGFycltpXVswXTsKICAgICAgaW50IHkyID0gYXJyW2pdWzFdOwogICAgICBpbnQgeTEgPSBhcnJbaV1bMV07CiAgICAgIGRvdWJsZSBkaXN0YW5jZSA9IHNxcnQoKHgyIC0geDEpICogKHgyIC0geDEpICsgKHkyIC0geTEpICogKHkyIC0geTEpKTsKICAgICAgaWYgKGRpc3RhbmNlID4gbWF4TGVuKSB7CiAgICAgICAgbWF4TGVuID0gZGlzdGFuY2U7CiAgICAgIH0KICAgIH0KICB9CgogIGNvdXQgPDwgZml4ZWQgPDwgc2V0cHJlY2lzaW9uKDEwKSA8PCBtYXhMZW47CgogIHJldHVybiAwOwp9