#include <bits/stdc++.h>
#define fi first
#define se second
#define FOR(i,a,b) for(int i = a;i<=b;i++)
using namespace std;
const double e = 1e-9;
int n;
typedef pair<int,int> ii ;
ii A[105] ;
vector<int> G[200] ;
int dd[200] ;

double dist(ii a,ii b){
    return sqrt( (a.fi-b.fi)*(a.fi-b.fi) + (a.se-b.se)*(a.second-b.second) ) ;
}
void dfs(int u){
    dd[u] = 1;
    for(int v:G[u]) if(!dd[v]) dfs(v) ;
}
bool check(double R)
{
    FOR(i,0,n+1) G[i].clear() ,dd[i] = 0 ;
    // 0 and n+1
    FOR(i,1,n) {
        if(100-A[i].se < R*2) {
                G[0].push_back(i) ;
                G[i].push_back(0) ;
        }
        if(A[i].se + 100 < R*2) {
                G[n+1].push_back(i) ;
                G[i].push_back(n+1) ;
        }
    }
    FOR(i,1,n)
    FOR(j,i+1,n) {
        if(dist(A[i],A[j]) < 2.0*R) {
            G[i].push_back(j);
            G[j].push_back(i);
        }
    }
    dfs(0) ;
    if(dd[n+1]==1) return false;
    return true ;
}
int main()
{
    //freopen("input.txt", "r", stdin);
    cin >> n;
    for (int i = 1; i <= n; i++) cin >> A[i].fi >> A[i].se ;

    double L =0 , R = 100,res = 0;
    while(L<R-e)
    {
        double mid = (L+R)/2.0 ;
        if(check(mid)) res = mid , L = mid ;
        else R = mid ;
    }
    cout << res ;
}

#include <iostream>
#include <cmath>
#include <iomanip>

using namespace std;

const int kMaxN = 101;

struct P {
  double d;
  int x, y;
  bool b;
} p[kMaxN];

int n, s;
double ans = 1e9;

double D(int i, int j) {
  return sqrt(pow(p[i].x - p[j].x, 2) + pow(p[i].y - p[j].y, 2));
}

int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> p[i].x >> p[i].y;
    p[i].d = p[i].y + 100;
  }
  for (int i = 1; i <= n; i++) {
    s = 0;
    for (int j = 1; j <= n; j++) {
      if (!p[j].b) {
        if (!s || p[s].d > p[j].d) {
          s = j;
        }
      }
    }
    p[s].b = 1;
    for (int j = 1; j <= n; j++) {
      if (!p[j].b) {
        p[j].d = min(p[j].d, max(p[s].d, D(s, j)));
      }
    }
  }
  for (int i = 1; i <= n; i++) {
    ans = min(ans, max(p[i].d, 100.0 - p[i].y));
  }
  cout << setprecision(8) << fixed << ans / 2;
  return 0;
}