#include <bits/stdc++.h>
using namespace std;
using lint = long long;
using ii = pair<int, int>;
using ll = pair<lint, lint>;
using ti = tuple<int, int, int>;
namespace T {
const int MAX = 1e5 + 5;
const int INF = 1e9 + 7;
int max_t[4 * MAX];
int min_t[4 * MAX];
void max_up(int n, int s, int e, int p, int v) {
  if (p < s || p > e) return;
  if (s == e)
    max_t[n] = v;
  else {
    max_up(2 * n, s, (s + e) / 2, p, v);
    max_up(2 * n + 1, (s + e) / 2 + 1, e, p, v);
    max_t[n] = max(max_t[2 * n], max_t[2 * n + 1]);
  }
}
void min_up(int n, int s, int e, int p, int v) {
  if (p < s || p > e) return;
  if (s == e)
    min_t[n] = v;
  else {
    min_up(2 * n, s, (s + e) / 2, p, v);
    min_up(2 * n + 1, (s + e) / 2 + 1, e, p, v);
    min_t[n] = min(min_t[2 * n], min_t[2 * n + 1]);
  }
}
int max_v(int n, int s, int e, int l, int r) {
  if (r < s || l > e) return 0;
  if (l <= s && e <= r) return max_t[n];
  int m = (s + e) / 2;
  return max(max_v(2 * n, s, m, l, r), max_v(2 * n + 1, m + 1, e, l, r));
}
int min_v(int n, int s, int e, int l, int r) {
  if (r < s || l > e) return INF;
  if (l <= s && e <= r) return min_t[n];
  int m = (s + e) / 2;
  return min(min_v(2 * n, s, m, l, r), min_v(2 * n + 1, m + 1, e, l, r));
}
}  // namespace T
const int N = 1e5 + 5;
using lf = double;
lf a[N][2];
int n;
int c1 = 0, c2 = 0;
void input() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%lf%lf", &a[i][0], &a[i][1]);
    if (a[i][1] < 0)
      ++c1;
    else
      ++c2;
    a[i][1] = abs(a[i][1]);
  }
}
const lf inf = 1e16;
bool ch(lf m) {
  lf l = -2 * inf;
  lf r = 2 * inf;
  for (int i = 0; i < n; i++) {
    lf d = abs(a[i][1] - m);
    if (d > m) {
      return false;
    }
    d = sqrt(m - d) * sqrt(m + d);
    lf nl = a[i][0] - d;
    lf nr = a[i][0] + d;
    if (nr < l) {
      return false;
    }
    if (r < nl) {
      return false;
    }
    l = max(nl, l);
    r = min(nr, r);
  }
  return true;
}
void go() {
  if (c1 != 0 && c2 != 0) {
    puts("-1");
  } else {
    lf l = 0.0, r = inf;
    for (int i = 0; i < 2000; i++) {
      lf m = (l + r) / 2;
      if (ch(m)) {
        r = m;
      } else {
        l = m;
      }
    }
    printf("%.7lf\n", (l + r) / 2);
  }
}
int main() {
  input();
  go();
  return 0;
}
