#include<bits/stdc++.h>
using namespace std;
double n,p;
double a[100005],b[100005];
double num=0;
double maxx=0,minn=1e+10;
bool pd(double x)
{
double w=p*x;
num=0;
for(int i=1;i<=n;i++)
{
if(a[i]*x<=b[i]) continue;
num+=(a[i]*x-b[i]);
}
return num<=w;
}
int main()
{
cin>>n>>p;
for(int i=1;i<=n;i++)
{
cin>>a[i]>>b[i];
num+=a[i];
}
if(num<=p)
{
cout<<cout<<-1<<endl;
return 0;
}
while(minn-maxx>1e-6)
{
double midn=(maxx+minn)/2;
if(pd(midn)) maxx=midn;
else minn=midn;
}
cout<<maxx<<endl;
return 0;
}