#include <bits/stdc++.h>
using namespace std;
long double x[300000], y[300000];
int n;
bool can(long double r) {
  long double ri = 1e7, le = -1e7;
  for (int i = 0; i < n; i++) {
    long double x1 = sqrt(r * r - (r - y[i]) * (r - y[i])) + x[i];
    long double x2 = -sqrt(r * r - (r - y[i]) * (r - y[i])) + x[i];
    if (y[i] - r > r) return false;
    le = max(le, x2);
    ri = min(ri, x1);
  }
  if (ri >= le) return true;
  return false;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin >> n;
  int b1 = 0, b2 = 0;
  for (int i = 0; i < n; i++) {
    cin >> x[i] >> y[i];
    if (y[i] > 0)
      b1 = 1;
    else
      b2 = 1;
    if (y[i] < 0) y[i] *= -1;
  }
  if (b1 && b2) {
    printf("-1\n");
    return 0;
  }
  long double lo = 1e-9, hi = 1e17;
  int co = 0;
  while (lo < hi && (hi - lo > 1e-7)) {
    co++;
    long double mid = (lo + hi) / 2;
    if (can(mid))
      hi = mid;
    else
      lo = mid + 1e-9;
    if (co == 100) break;
  }
  printf("%.10LF\n", lo);
}
