#include <bits/stdc++.h>
using namespace std;
const int mn = 500005;
int n, fp, ln;
pair<double, double> inp[mn];
bool f(double mid) {
  double ma = -(int)1e9;
  for (int i = fp; i < ln + 1; i++) {
    double pos = inp[i].first + mid * inp[i].second;
    if (inp[i].second < 0) {
      if (pos <= ma) return 1;
    } else
      ma = max(ma, pos);
  }
  return 0;
}
int main() {
  n = ({
    int t;
    scanf("%d", &t);
    t;
  });
  for (int i = 0; i < n; i++)
    inp[i].first = ({
      int t;
      scanf("%d", &t);
      t;
    }),
    inp[i].second = ({
      int t;
      scanf("%d", &t);
      t;
    });
  fp = ln = -1;
  for (int i = n - 1; i >= 0; i--)
    if (inp[i].second > 0) fp = i;
  for (int i = 0; i < n; i++)
    if (inp[i].second < 0) ln = i;
  if (fp == -1 || ln == -1 || fp > ln) {
    printf("-1\n");
    return 0;
  }
  double lo = 0, hi = double(1e9) + 5, mid = (lo + hi) / 2;
  for (int times = 0; times < 100; times++) {
    if (f(mid))
      hi = mid;
    else
      lo = mid;
    mid = (lo + hi) / 2;
  }
  printf("%.15lf\n", mid);
  return 0;
}
