#import enum{M=1<<17,B=20000}; int N,X[M],Y[M],I[M],P[M],A[M],i,j,k,l,m,n; double z=1,t; int R(int u){return P[u]==u?u:P[u]=R(P[u]);} int D(int a,int b,int c){return(X[b]-X[a])*(Y[c]-Y[a])<=(Y[b]-Y[a])*(X[c]-X[a]);} int main(){ scanf("%d",&N); for(i=N;i--;I[i]=P[i]=i,A[i]=X[i]*B+Y[i])scanf("%d%d",X+i,Y+i); std::sort(I,I+N,[](int a,int b){return A[a]1&&D(A[n-1],A[n],I[j]);--n); } m=n; for(k=j;k-->i;A[++n]=I[k]){ for(;n>m&&D(A[n-1],A[n],I[k]);--n); } for(k=n;k;--k)for(l=n;l;--l){ t=2+hypot(X[A[k]]-X[A[l]],Y[A[k]]-Y[A[l]]); z=z>t?z:t; } } printf("%.9f\n",z); }