#include <bits/stdc++.h>
#define NMAX 100006
using namespace std;
ifstream fin("cmap.in");
ofstream fout("cmap.out");
int n;
struct punct
{
double x,y;
}v[NMAX];
void citire()
{
fin>>n;
for(int i=1; i<=n; i++)
{
fin>>v[i].x>>v[i].y;
}
}
double dist(punct a, punct b)
{
return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
int main()
{
citire();
double dmin=10000000000;
dmin=dmin*100000000;
for(int i=1; i<n; i++)
{
for(int j=i+1; j<=n; j++)
{
double d=dist(v[i],v[j]);
dmin=min(dmin,d);
}
}
fout<< fixed << setprecision(5) << dmin << "\n";
return 0;
}