#include<bits/stdc++.h>
#define int long long
using namespace std;
double n,mini=1e9;
struct Node{
double x,y;
}a[10000005];
double f(Node g,Node h)
{
double a=abs(g.x-h.x);
double b=abs(g.y-h.y);
return sqrt(g*x-h*y);
}
signed main()
{
cin>>n;
for(int i=1;i<=n;++i)
{
cin>>a[i].x>>a[i].y;
}
for(int i=1;i<=n;++i)
{
if(a[i].x==a[i+1].x)
mini=min(mini,abs(a[i].x-a[i-1].x));
else if(a[i].y==a[i+1].y)
mini=min(mini,abs(a[i].y-a[i-1].y));
else
mini=min(mini,f(abs(a[i].x-a[i-1].x),abs(a[i].y-a[i-1].y)));
}
cout<<fixed<<setprecision(4)<<mini;
return 0;
}