#include <bits/stdc++.h>
using namespace std;
const int INF = 2147483647;
const double PI = 3.141592653589793;
const double eps = 1e-9;
const int N = 500005;
int n, co[N], vel[N], i, j;
double jedz(int a, int b, double c, double d) {
  double ind = (c + d) / 2, maxx, p;
  bool da;
  int i;
  if (d - c < eps) return ind;
  maxx = -1000000000.0;
  da = true;
  for (i = a; i <= b; i++) {
    p = ind * vel[i] + co[i];
    if (vel[i] > 0 && p > maxx) maxx = p;
    if (vel[i] < 0 && p <= maxx) da = false;
  }
  if (da) return jedz(a, b, ind, d);
  return jedz(a, b, c, ind);
}
int main() {
  scanf("%d", &n);
  for (i = 0; i < n; i++) scanf("%d %d", &co[i], &vel[i]);
  i = 0;
  while (i < n && vel[i] < 0) i++;
  j = n - 1;
  while (j >= 0 && vel[j] > 0) j--;
  if (i > j)
    printf("-1\n");
  else
    printf("%.10lf\n", jedz(i, j, 0.0, 1000000000.0));
  return 0;
}
