#include <bits/stdc++.h>
using namespace std;
const int N = 3010;
void io() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
}
int n, m, t, k, cnt = 0;
bitset<N> bs[N], tp;
struct Point {
  long long x, y;
} p[3010];
struct Line {
  int x, y;
  long long len;
  bool operator<(const Line& b) const { return len > b.len; }
} l[3010 * 3010 >> 1];
double cald(Point a, Point b) {
  return ((a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y));
}
int main() {
  cin >> n;
  for (long long i = 1; i <= n; ++i) cin >> p[i].x >> p[i].y;
  for (long long i = 1; i <= n; ++i) {
    for (long long j = i + 1; j <= n; ++j) {
      l[++cnt].x = i;
      l[cnt].y = j;
      l[cnt].len = cald(p[i], p[j]);
    }
  }
  sort(l + 1, l + 1 + cnt);
  for (long long i = 1; i <= cnt; ++i) {
    int a = l[i].x, b = l[i].y;
    if ((bs[a] & bs[b]).any()) {
      printf("%.12lf", sqrt(l[i].len) / 2.0);
      return 0;
    }
    bs[a].set(b), bs[b].set(a);
  }
}
