#include<bits/stdc++.h>
using namespace std;
struct k{
long long x,y;
}a[1005];
int main(){
long long x,y;
int n;
double mx=INT_MAX;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].x>>a[i].y;
}
for(int i=1;i<=n-1;i++){
for(int j=i+1;j<=n;j++){
if(a[i].x==a[j].x){
mx=min(mx,1.0*max(a[i].y,a[j].y)-min(a[i].y,a[j].y));
}else if(a[i].y==a[j].y){
mx=min(mx,1.0*max(a[i].x,a[j].x)-min(a[i].x,a[j].x));
}else{
x=a[i].x;
y=a[j].y;
x=max(x,a[j].x)-min(x,a[j].x);
y=max(y,a[i].y)-min(y,a[i].y);
mx=min(mx,sqrt(1.0*(x*x)+(y*y)));
}
}
}
printf("%0.4lf",mx);
return 0;
}