#include <bits/stdc++.h>
using namespace std;
int Input() {
  char c = getchar();
  int x = 0, z = 1;
  for (; c < '0' || c > '9'; c = getchar()) z = c == '-' ? -1 : 1;
  for (; c >= '0' && c <= '9'; c = getchar())
    x = (x << 1) + (x << 3) + (c ^ 48);
  return x * z;
}
const int maxn(4005);
const double pi(acos(-1));
int n, x[maxn], y[maxn], q[maxn], ans;
pair<double, int> a[maxn << 1];
void Calc(int rt) {
  int num = 0, l = 0, r = -1;
  for (int i = 1; i <= n; ++i)
    if (i != rt)
      a[++num] = make_pair(atan2(y[i] - y[rt], x[i] - x[rt]),
                           ((y[i] - y[rt]) * (y[i] - y[rt])) +
                               ((x[i] - x[rt]) * (x[i] - x[rt])));
  sort(a + 1, a + num + 1);
  for (int i = 1; i <= num; ++i) a[i + num] = a[i], a[i + num].first += 2 * pi;
  for (int i = 1, j = 1; j <= num; ++j) {
    while (i - j < num && a[i].first - a[j].first <= pi) {
      while (l <= r && a[q[r]].second < a[i].second) --r;
      q[++r] = i++;
    }
    while (l <= r && a[q[l]].first - a[j].first < pi / 3.0) ++l;
    if (l <= r) ans = max(ans, min(a[q[l]].second, a[j].second));
  }
}
int main() {
  n = Input();
  for (int i = 1; i <= n; ++i) x[i] = Input(), y[i] = Input();
  for (int i = 1; i <= n; ++i) Calc(i);
  printf("%.11lf\n", sqrt(ans) / 2.0);
  return 0;
}
