#include <iostream>
#include <iomanip>
using namespace std;
double p,A[100010],B[100010];
int n;
int F(double x){
int i,j;
double t1,t2 = 0.0;
for(i = 1;i <= n;i++){
if(x * A[i] > B[i]){
t1 = x * A[i] - B[i];
if(t1 > p * x){
return -1;
}
else {
t2 += t1 / p;
}
}
}
if(t2 > x){
return -1;
}
else{
return 1;
}
}
int main(){
int i,j;
double l,r,mid;
cin>>n>>p;
for(i = 1;i <= n;i++){
cin>>A[i]>>B[i];
}
l = 0.0;r = 10000000000.0;
if(F(r) == 1){
cout<<-1;return 0;
}
for(i = 1;i <= 1000;i++){
mid = (l + r) / 2;
if(F(mid) == 1){
l = mid;
}
else{
r = mid;
}
}
cout<<fixed<<setprecision(20)<<l;
return 0;
}