#include <bits/stdc++.h>
using namespace std;
const int maxn = 500000 + 10;
int X[maxn], v[maxn];
double now[maxn];
int n;
long long mi, ma;
inline bool valid(double t) {
  for (int i = 1; i <= n; ++i) now[i] = t * v[i] + X[i];
  double Min = 1e18 + 1e10, Max = -1e18 - 1e10;
  for (int i = 1; i <= n; ++i) {
    if (Min <= Max) return true;
    if (v[i] < 0)
      Min = min(Min, now[i]);
    else
      Max = max(Max, now[i]), Min = 1e18 + 1e10;
  }
  if (Min <= Max) return true;
  return false;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin >> n;
  for (int i = 1; i <= n; ++i) cin >> X[i] >> v[i];
  ma = 1000000000000000001ll;
  mi = 0;
  for (; mi + 1 < ma;) {
    long long mid = (ma + mi) / 2;
    double hlp = mid / 1000000000.0;
    if (valid(hlp))
      ma = mid;
    else
      mi = mid;
  }
  if (ma == 1000000000000000001ll)
    cout << -1 << endl;
  else
    cout << fixed << setprecision(9) << ma / 1000000000.0 << endl;
  return 0;
}
