#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,p,q;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[q]);--n);for(m=n,k=q;k-->p;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);}