/*
TASK:dist
LANG:C++
*/
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
 
double side(int x1, int y1, int x2, int y2)
{return sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));}

int main()
{
    long int point[2][5000];
    int n, i;
    cin >> n;
    for(i=0; i<=n; i++)
    {
       cin >> point[0][i] >> point[1][i];
    }
    
    long double min=1000001, side1;
    for(i=1; i<=n; i++)
    {
       side1=side(point[0][0], point[1][0], point[0][i], point[1][i]);
       if(side1<min)min=side1;
    }
    min*=10000;
    int min2=(int)min;
    for(i=1; i<=4; i++) min2/=10;
    cout << min2 << endl;
   
    system("PAUSE");
    return 0;
}

