#include <bits/stdc++.h>
using namespace std;
string filename = "test";
vector<pair<int, int> > p;
int n;
int i1, i2;
bool go(double t) {
  double maxc = -2e9;
  i1 = -1;
  for (int _n(n), i(0); i < _n; i++) {
    double x = (double)p[i].first + t * p[i].second;
    if (p[i].second >= 0) {
      if (x > maxc) {
        maxc = x;
        i1 = i;
      }
    } else {
      if (x < maxc) {
        i2 = i;
        return true;
      }
    }
  }
  i1 = -1;
  return false;
}
int main() {
  p.clear();
  cin >> n;
  int cntp = 0, cntm = 0;
  for (int _n(n), i(0); i < _n; i++) {
    int x, v;
    scanf("%d %d", &x, &v);
    p.push_back(pair<int, int>(x, v));
  }
  double low = 0.0, up = 2e10;
  int cnt = 0;
  double t;
  for (int _n(100), ccc(0); ccc < _n; ccc++) {
    t = 0.5 * (low + up);
    if (go(t))
      up = t;
    else
      low = t;
  }
  go(up);
  if (i1 == -1)
    printf("-1\n");
  else
    printf("%.10lf\n", fabs((double)(p[i1].first - p[i2].first) /
                            (p[i1].second - p[i2].second)));
  return 0;
}
