#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int, int>;
using pli = pair<ll, int>;
const int INF = 0x3f3f3f3f, N = 1e5 + 5;
const ll LINF = 1e18 + 5;
const long double eps = 1e-10;
int n;
int x[N], y[N];
int check(long double R) {
  long double l = -1e18, r = 1e18;
  for (int i = 1; i <= n; i++) {
    long double d = fabs(y[i] - R);
    if (d > R) return 0;
    long double delta = sqrt(R + d) * sqrt(R - d);
    l = max(l, x[i] - delta);
    r = min(r, x[i] + delta);
  }
  return l <= r;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cin >> n;
  int cnt = 0;
  for (int i = 1; i <= n; i++) {
    cin >> x[i] >> y[i];
    if (y[i] > 0)
      cnt++;
    else if (y[i] < 0)
      cnt--, y[i] *= -1;
  }
  if (abs(cnt) != n) return cout << -1, 0;
  if (n == 1) {
    cout << fixed << setprecision(10) << fabs(y[1] * 0.5);
    return 0;
  }
  long double l = 0.0, r = 1e18, ans = 0.0;
  for (int i = 1; i <= 200; i++) {
    long double mid = (l + r) / 2.0;
    if (!check(mid))
      l = mid;
    else
      r = mid, ans = mid;
  }
  if (check(ans))
    cout << fixed << setprecision(10) << ans;
  else
    cout << -1;
  return 0;
}
