#include #define REP(i, x, n) for(int i = x; i < (int)(n); i++) #define rep(i, n) REP(i, 0, n) #define all(x) (x).begin(), (x).end() #define rall(x) (x).rbegin(), (x).rend() #define F first #define S second #define mp make_pair using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair P; const double EPS = 1e-9; int N; long double X[1000], Y[1000]; bool visited[1000]; bool flg; void rec(int idx, ll L) { visited[idx] = true; if(idx == N - 1) { flg = true; } if(flg) return; rep(i, N) { if(i == idx || visited[i]) continue; if(sqrt(pow(X[i] - X[idx], 2) + pow(Y[i] - Y[idx], 2)) <= L) { rec(i, L); } } } int main() { // ios_base::sync_with_stdio(false); cin >> N; rep(i, N) cin >> X[i] >> Y[i]; ll lb = 0; ll ub = 1e18; while(ub - lb > 1) { ll mid = (lb + ub) / 2; memset(visited, false, sizeof(visited)); flg = false; rec(0, mid); if(flg) ub = mid; else lb = mid; } ll ans = lb / 10 * 10 + 10; cout << ans << endl; return 0; }