#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<string>
#include<cstring>
#include<iomanip>
#define IOS ios_base::sync_with_stdio(0); cin.tie(0);
using namespace std;
#define inf 0x3f3f3f3f
#define endl '\n'
const int maxn = 100010;
const double eps = 1e-8;
int n;
double a[maxn], b[maxn], sum;
double p;
bool check(double mid) {
double amt = 0.0;
for (int i = 0;i < n;i++) {
amt += max(a[i] * mid - b[i], 0.0);
}
if (amt > p * mid) {
return true;
}
else {
return false;
}
}
signed main() {
IOS;
cin >> n >> p;
for (int i = 0;i < n;i++) {
cin >> a[i] >> b[i];
sum += a[i];
}
if (sum <= p) {
cout << -1 << endl;
return 0;
}
double l = 0, r = 1e10, mid;
while (r - l > eps) {
mid = (l + r) / 2;
if (check(mid)) {
r = mid;
}
else {
l = mid;
}
}
cout << fixed << setprecision(9) << mid << endl;
return 0;
}
//Fununugugu Code
算了一下 log2(1e10)≈33.2,不应该 TLE 呀?