#include <bits/stdc++.h>
using namespace std;
const int N = (int)1e5 + 1;
const int K = 105;
const double eps = 1e-9;
const int M = 1001;
const int inf = (int)1e9 + 7;
struct tool {
  long long a, b;
  tool() {}
  tool(long long a, long long b) : a(a), b(b) {}
  bool operator<(const tool &arg) const {
    if (b * arg.a == a * arg.b) {
      return b < arg.b;
    }
    return b * arg.a < a * arg.b;
  }
};
tool t[N];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  int n, p;
  cin >> n >> p;
  for (int i = 0; i < n; ++i) {
    cin >> t[i].a >> t[i].b;
  }
  sort(t, t + n);
  long long s = 0, q = 0;
  for (int i = 0; i < n - 1; ++i) {
    s += t[i].a;
    q += t[i].b;
    long double h = q * 1.0 / (s - p);
    if (s > p && h * t[i + 1].a < t[i + 1].b) {
      cout << setprecision(7) << fixed << h;
      return 0;
    }
  }
  s += t[n - 1].a, q += t[n - 1].b;
  if (p >= s) {
    cout << -1;
    return 0;
  }
  cout << setprecision(7) << fixed << q * 1.0 / (s - p);
  return 0;
}
