#include<bits/stdc++.h>
#define FileIO freopen("input.in", "r", stdin); freopen("output.in", "w", stdout)
#define ll long long
#define input_vec(v) for(int II=0; II<v.size(); II++) cin >> v[II];
#define sortf(v) sort(v.begin(), v.end());
#define sortr(v) sort(v.rbegin(), v.rend());
#define print_vec(v) for(int II=0; II<v.size(); II++){cout << v[II];} cout << endl;
using namespace std;
long double sqr(long double n){return n*n;}
long double dist(pair <long double, long double> a, pair <long double, long double> b){
return sqrtl(sqr(a.first-b.first)+sqr(a.second-b.second));
}
void test_case(int tc)
{
}
int main()
{
// if(fopen("input.in", "r")) FileIO;
int n;
cin>>n;
vector <pair<long double, long double>> v(n);
for(int i=0;i<n;i++){
long double a, b;
cin>>a>>b;
v[i]=make_pair(a, b);
}
// for(auto i: v){
// cout<<i.first<<" "<<i.second<<endl;
// }
long double DIST=-1;
for(int i=0;i<n;i++){
for(int j=i;j<n;j++){
DIST=max(dist(v[i], v[j]), DIST);
}
}
cout<<fixed<<setprecision(18)<<DIST/2<<endl;
}