#include <bits/stdc++.h>
#define IO_OP std::ios::sync_with_stdio(0); std::cin.tie(0);
#define F first
#define S second
#define V vector
#define PB push_back
#define MP make_pair
#define EB emplace_back
#define ALL(v) (v).begin(), (v).end()
#define debug(x) cerr << "Line(" << __LINE__ << ") -> " << #x << " is " << x << endl

using namespace std;

typedef long long ll;
typedef pair<int, int> pi;
typedef V<int> vi;

const int INF = 1e9 + 7, N = 102;

double x[N], y[N], n;

double dist(int i, int j) {
	return hypot(x[i] - x[j], y[i] - y[j]);
}

bool ok(double m) {
	vi p(n + 2);
	int s = n, t = n + 1;
	iota(ALL(p), 0);
	function<int(int)> find = [&](int u) {
		return p[u] == u ? u : p[u] = find(p[u]);
	};
	auto unite = [&](int x, int y) {
		int rx = find(x), ry = find(y);
		p[rx] = ry;
	};
	for(int i = 0; i < n; i++) {
		for(int j = 0; j < i; j++) {
			if(dist(i, j) <= m) 
				unite(i, j);
		}
	}
	for(int i = 0; i < n; i++) {
		if(100 - y[i] <= m)
			unite(s, i);
		if(100 + y[i] <= m)
			unite(t, i);
	}
	return find(s) != find(t);
}

signed main()
{
	IO_OP;

	cin >> n;
	for(int i = 0; i < n; i++) cin >> x[i] >> y[i];

	double lb = 0, rb = 300;
	for(int i = 0; i < 100; i++) {
		double mb = (lb + rb) / 2;
		if(ok(mb)) lb = mb;
		else rb = mb;
	}
	cout << fixed << setprecision(10) << lb / 2 << endl;

}


#include<bits/stdc++.h>
using namespace std;
#define ll long long 
int main()
{
    int n,m;
  	int vdnsddk; 
    cin>>n>>m;
    vector<pair<int,int>>a(m);
    for(int i=0;i<m;i++)
    {
        cin>>a[i].first>>a[i].second;
    }
    int k;
    cin>>k;
    vector<pair<int,int>>b(k);
    for(int j=0;j<k;j++)
    {
        cin>>b[j].first>>b[j].second;
    }
    ll l=0;
    ll tot=1<<k;
    for(ll mask=0;mask<tot;mask++)
    {
        vector<int>v(n+1);
        ll ans=0;
        for(int i=0;i<k;i++)
        {
            if(mask & (1<<i))
                v[b[i].second]=1;
            else
                v[b[i].first]=1;
        }
        for(int i=0;i<m;i++)
        {
            if(v[a[i].first] && v[a[i].second])
                ans++;
        }
        l=max(l,ans);
    }
    cout<<l<<endl;
    return 0;
}