#include <bits/stdc++.h>
using namespace std;
long long read() {
  long long x = 0;
  int f = 1;
  char ch = getchar();
  for (; !isdigit(ch); ch = getchar())
    if (ch == '-') f = -1;
  for (; isdigit(ch); ch = getchar()) x = x * 10 + (ch ^ 48);
  return x * f;
}
void print(long long x) {
  if (x < 0) x = -x, putchar('-');
  if (x > 9) print(x / 10);
  putchar(x % 10 + '0');
}
const int N = 100010;
int x[N], y[N];
int n;
bool flz, flf;
bool check(double mid) {
  double l = -1e7, r = 1e7;
  for (int i = 1; i <= n; i++) {
    if (y[i] > 2 * mid) return false;
    double len = sqrt(mid - (mid - y[i])) * sqrt(mid + (mid - y[i]));
    l = max(l, x[i] - len), r = min(r, x[i] + len);
    if (l >= r) return false;
  }
  return l < r;
}
int main() {
  n = read();
  for (int i = 1; i <= n; i++) {
    x[i] = read(), y[i] = read();
    flz |= (y[i] > 0);
    flf |= (y[i] < 0);
  }
  if (flz & flf) {
    puts("-1");
    return 0;
  }
  if (flf) {
    for (int i = 1; i <= n; i++) y[i] = -y[i];
  }
  double l = 0, r = 1e18, ans;
  int time = 80;
  while (time--) {
    double mid = (l + r) / 2;
    if (check(mid))
      r = mid, ans = mid;
    else
      l = mid;
  }
  printf("%.8lf", ans);
}
