20260113
//#include<stdio.h>
//int q[3333333][3]={}, top=-1, w=-1, arr[1010][1010]={}, memo[1010][1010]={};
//void push(int a, int b, int c)
//{
// top++;
// q[top][0]=a;
// q[top][1]=b;
// q[top][2]=c;
//}
//void pop()
//{
// w++;
//}
//int main()
//{
// int i, j, n, m,min=9999;
// scanf("%d %d", &n, &m);
// for(i=1;i<=n;i++)
// {
// for(j=1;j<=m;j++)
// {
// scanf("%d", &arr[i][j]);
// }
// }
// push(1, 1, 1);
// while(1)
// {
// pop();
// if (w>top)
// {
// min = 0;
// break;
// }
// int a = q[w][0];
// int b = q[w][1];
// int c = q[w][2];
// int x = arr[a][b];
// if (memo[a][b] == -1)
// {
// continue;
// }
// arr[a][b] = 0;
// memo[a][b] = -1;
// if (a == n && b == m)
// {
// min = c;
// break;
// }
// if (arr[a+1][b] != 0 && arr[a+1][b] <= x+1 && arr[a+1][b] >= x-1)
// {
// push(a+1, b, c+1);
// }
// if (arr[a-1][b] != 0 && arr[a-1][b] <= x+1 && arr[a-1][b] >= x-1)
// {
// push(a-1, b, c+1);
// }
// if (arr[a][b+1] != 0 && arr[a][b+1] <= x+1 && arr[a][b+1] >= x-1)
// {
// push(a, b+1, c+1);
// }
// if (arr[a][b-1] != 0 && arr[a][b-1] <= x+1 && arr[a][b-1] >= x-1)
// {
// push(a, b-1, c+1);
// }
// }
// printf("%d", min);
// return 0;
//}
//#include<stdio.h>
//#include<math.h>
//int main()
//{
// double arr[20000][2],min = 500000;
// int i, j, n;
// scanf("%d", &n);
// for (i=1;i<=n;i++)
// {
// scanf("%lf %lf", &arr[i][0], &arr[i][1]);
// }
// for (i=1;i<n;i++)
// {
// for (j=i+1;j<=n;j++)
// {
// double x = sqrt(((arr[i][0] - arr[j][0]) * (arr[i][0] - arr[j][0])) + ((arr[i][1] - arr[j][1]) * (arr[i][1] - arr[j][1])));
// if (x<min)
// {
// min = x;
// }
// }
// }
// printf("%.1lf", min);
// return 0;
//}
#include<stdio.h>
#include<math.h>
double arr[200000][2],min[3] = {0, 0, 1000000};
int f(int a1, int b1,int a2,int b2)
{
int x = a1 - a2;
if (x<0)
{
x *= -1;
}
int z = b1 - b2;
if (z<0)
{
z *= -1;
}
return x+z;
}
int main()
{
int i, j, n, a, b;
scanf("%d", &n);
for (i=1;i<=n;i++)
{
scanf("%lf %lf", &arr[i][0], &arr[i][1]);
for (j=1;j<i;j++)
{
int x = f(arr[i][0], arr[i][1], arr[j][0], arr[j][1]);
if (x<min[2])
{
min[2] = x;
min[0] = i;
min[1] = j;
}
}
}
i = min[0];
j = min[1];
double x = sqrt(((arr[i][0] - arr[j][0]) * (arr[i][0] - arr[j][0])) + ((arr[i][1] - arr[j][1]) * (arr[i][1] - arr[j][1])));
printf("%.1lf", x);
return 0;
}




