#include <bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
#define ll long long
#define int long long
#define double long double
#define MAXN 100000
#define eps 1e-6
double a[MAXN],b[MAXN];
double tot=INF;
double p,n;
bool check(double mid)
{
double x=0;
for(int i=1;i<=n;i++)
{
double xy=(a[i]*mid);
if(xy>b[i])
{
x+=(xy-b[i]);
}
}
if(x<=(mid*p)) return true;
else return false;
}
void ef()
{
double l=0,r=1e9;
while((r-l)>eps)
{
double mid=(l+r)/2;
if(check(mid)) l=mid;
else r=mid;
}
cout<<fixed<<setprecision(10)<<l;
return ;
}
main()
{
ll anss=0;
cin>>n>>p;
for(int i=1;i<=n;i++)
{
cin>>a[i]>>b[i];
anss+=a[i];
}
if(anss<=p) { cout<<"-1"; return 0; }
ef();
return 0;
}