#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-5;
struct point {
  double x, y;
};
struct line {
  point a, b;
};
point p[110], cen;
int n;
double ans;
double dis(point p1, point p2) {
  return (p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y);
}
point intersection(line u, line v) {
  point ret = u.a;
  double t =
      ((u.a.x - v.a.x) * (v.a.y - v.b.y) - (u.a.y - v.a.y) * (v.a.x - v.b.x)) /
      ((u.a.x - u.b.x) * (v.a.y - v.b.y) - (u.a.y - u.b.y) * (v.a.x - v.b.x));
  ret.x += (u.b.x - u.a.x) * t;
  ret.y += (u.b.y - u.a.y) * t;
  return ret;
}
point circumcenter(point a, point b, point c) {
  line u, v;
  u.a.x = (a.x + b.x) / 2;
  u.a.y = (a.y + b.y) / 2;
  u.b.x = u.a.x - a.y + b.y;
  u.b.y = u.a.y + a.x - b.x;
  v.a.x = (a.x + c.x) / 2;
  v.a.y = (a.y + c.y) / 2;
  v.b.x = v.a.x - a.y + c.y;
  v.b.y = v.a.y + a.x - c.x;
  return intersection(u, v);
}
void Init() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) scanf("%lf%lf", &p[i].x, &p[i].y);
}
void judge(int i, int j, int k, double dx) {
  bool f = true;
  for (int kk = 0; kk < n; kk++) {
    if (kk != i && kk != j && kk != k) {
      double dd = dis(cen, p[kk]);
      if (dd - dx < -eps) {
        f = false;
        break;
      }
    }
  }
  if (f) ans = max(ans, dx);
}
void Gao() {
  ans = -1;
  for (int i = 0; i < n; i++)
    for (int j = i + 1; j < n; j++)
      for (int k = j + 1; k < n; k++) {
        double d[3];
        d[0] = dis(p[i], p[j]);
        d[1] = dis(p[i], p[k]);
        d[2] = dis(p[j], p[k]);
        if (d[0] == d[1] + d[2]) {
          int aim = -1;
          for (int l = 0; l < n; l++) {
            if (l == i || l == j || l == k) continue;
            double d1 = dis(p[i], p[l]);
            double d2 = dis(p[j], p[l]);
            if (d[0] == d1 + d2) aim = l;
          }
          if (aim != -1) {
            cen.x = (p[i].x + p[j].x) / 2;
            cen.y = (p[i].y + p[j].y) / 2;
            double dx = dis(cen, p[i]);
            judge(i, j, k, dx);
          }
        }
        sort(d, d + 3);
        if (d[0] + d[1] <= d[2]) continue;
        cen = circumcenter(p[i], p[j], p[k]);
        double dx = dis(cen, p[i]);
        judge(i, j, k, dx);
      }
  if (ans != -1)
    printf("%lf", sqrt(ans));
  else
    puts("-1");
}
int main() {
  Init();
  Gao();
  return 0;
}
