#include <bits/stdc++.h>
using namespace std;
struct Time {
int i;
double v;
};
const int MAXN = 1e5;
int a[MAXN], b[MAXN];
Time t[MAXN+1];
int main() {
int n, p;
cin >> n >> p;
for (int i = 0; i < n; ++i) {
cin >> a[i] >> b[i];
t[i].v = 1. * b[i] / a[i];
t[i].i = i;
}
sort(t, t+n, [](Time const & a, Time const & b){ return a.v < b.v;});
t[n].v = 1e15;
double sum_a = 0, sum_b = 0, time;
cout.precision(10);
cout << fixed;
for (int i = 0; i < n; ++i) {
int j = t[i].i;
sum_a += a[j];
sum_b += b[j];
time = (1. * sum_b / (sum_a – p));
if(time < t[i+1].v && sum_a > p) {
cout << time;
return 0;
}
}
cout << -1;
}