#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
using ll = long long;
using ld = long double;
#define all(x) x.begin(),x.end()
#define v(x) vector<x>
#define nl '\n'
#define fxd(x) fixed << setprecision(x)
template<class t> using ordered_set = tree<t, null_type, less<t>, rb_tree_tag, tree_order_statistics_node_update>;
template<class t> using ordered_multiset = tree<t, null_type, less_equal<t>, rb_tree_tag, tree_order_statistics_node_update>;
vector<pair<ll,ll>> pr;
ll n , k ;
bool can(double x)
{
sort(all(pr),[&](pair<ll,ll> fr , pair<ll,ll> sc){
return ((double)fr.first - x * (double)fr.second) > ((double)sc.first - x * (double)sc.second);
});
double sum = 0;
for (int i = 0; i < k; i++)
{
sum+= (double)pr[i].first - x*(double)pr[i].second;
}
return sum >= 0;
}
int main()
{
ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
cin >> n >> k;
pr.resize(n);
for (int i = 0; i < n; i++)
{
cin >> pr[i].first;
cin >> pr[i].second;
}
double l = 0,r = 1e10,pos = -1,mid;
for (int i = 0; i < 70; i++)
{
mid = (l + r)/2;
if(can(mid))
{
pos = mid;
l = mid;
}
else
{
r = mid;
}
}
cout << fxd(10) <<pos;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDxleHQvcGJfZHMvYXNzb2NfY29udGFpbmVyLmhwcD4KI2luY2x1ZGUgPGV4dC9wYl9kcy90cmVlX3BvbGljeS5ocHA+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp1c2luZyBuYW1lc3BhY2UgX19nbnVfcGJkczsKdXNpbmcgbGwgPSBsb25nIGxvbmc7CnVzaW5nIGxkID0gbG9uZyBkb3VibGU7CgojZGVmaW5lIGFsbCh4KSAgeC5iZWdpbigpLHguZW5kKCkKI2RlZmluZSB2KHgpIHZlY3Rvcjx4PgojZGVmaW5lIG5sICdcbicKI2RlZmluZSBmeGQoeCkgZml4ZWQgPDwgc2V0cHJlY2lzaW9uKHgpCnRlbXBsYXRlPGNsYXNzIHQ+IHVzaW5nIG9yZGVyZWRfc2V0ID0gdHJlZTx0LCBudWxsX3R5cGUsIGxlc3M8dD4sIHJiX3RyZWVfdGFnLCB0cmVlX29yZGVyX3N0YXRpc3RpY3Nfbm9kZV91cGRhdGU+Owp0ZW1wbGF0ZTxjbGFzcyB0PiB1c2luZyBvcmRlcmVkX211bHRpc2V0ID0gdHJlZTx0LCBudWxsX3R5cGUsIGxlc3NfZXF1YWw8dD4sIHJiX3RyZWVfdGFnLCB0cmVlX29yZGVyX3N0YXRpc3RpY3Nfbm9kZV91cGRhdGU+OwoKdmVjdG9yPHBhaXI8bGwsbGw+PiBwcjsgCmxsIG4gLCBrIDsgCgpib29sIGNhbihkb3VibGUgeCkKewogICAgc29ydChhbGwocHIpLFsmXShwYWlyPGxsLGxsPiBmciAsIHBhaXI8bGwsbGw+IHNjKXsKICAgICAgICByZXR1cm4gKChkb3VibGUpZnIuZmlyc3QgLSB4ICogKGRvdWJsZSlmci5zZWNvbmQpID4gKChkb3VibGUpc2MuZmlyc3QgLSB4ICogKGRvdWJsZSlzYy5zZWNvbmQpOwogICAgfSk7CiAgICBkb3VibGUgc3VtID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgazsgaSsrKQogICAgewogICAgICAgIHN1bSs9IChkb3VibGUpcHJbaV0uZmlyc3QgLSB4Kihkb3VibGUpcHJbaV0uc2Vjb25kOwogICAgfQogICAgcmV0dXJuIHN1bSA+PSAwOwp9CmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IGNpbi50aWUobnVsbHB0cik7IGNvdXQudGllKG51bGxwdHIpOwogICAgY2luID4+IG4gPj4gazsKICAgIHByLnJlc2l6ZShuKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQogICAgewogICAgICAgIGNpbiA+PiBwcltpXS5maXJzdDsKICAgICAgICBjaW4gPj4gcHJbaV0uc2Vjb25kOwogICAgfQoKICAgIGRvdWJsZSBsID0gMCxyID0gMWUxMCxwb3MgPSAtMSxtaWQ7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCA3MDsgaSsrKQogICAgewogICAgICAgIG1pZCA9IChsICsgcikvMjsKICAgICAgICBpZihjYW4obWlkKSkKICAgICAgICB7CiAgICAgICAgICAgIHBvcyA9IG1pZDsKICAgICAgICAgICAgbCA9IG1pZDsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgciA9IG1pZDsKICAgICAgICB9CiAgICB9CiAgICAKICAgIGNvdXQgPDwgZnhkKDEwKSA8PHBvczsKICAgIAp9