#include <bits/stdc++.h>
#define ll long long
using namespace std;
int n;
ll x;
int p[100000 + 5],t[100000 + 5];
bool check(ll time)
{
// check sai khi ko du trung can thiet
// con dung trong TH nguoc lai (so trung >= so trung can thiet) :3
ll eggs = 0;
for(int i = 1; i <= n;i ++)
{
if((ll)p[i] > time)continue;
eggs ++;// TH cua qua dau tien
eggs += 1LL * ((time - p[i])/t[i]); // TH sau qua trung dau tien
}
// cout<<eggs<<'\n';
if(eggs >= x)return true;
return false;
}
int main()
{
cin>>n>>x;
for(int i = 1; i <= n;i ++)cin>>p[i]>>t[i];
ll d = 1,c = 1e18,ans = -1,mid;
while(d <= c)
{
mid = (d + c)/2;
if(check(mid))
{
ans = mid;
c = mid - 1;
}
else d = mid + 1;
}
cout<<ans;
// ez;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKaW50IG47CmxsIHg7CmludCBwWzEwMDAwMCArIDVdLHRbMTAwMDAwICsgNV07CmJvb2wgY2hlY2sobGwgdGltZSkKewogICAgLy8gY2hlY2sgc2FpIGtoaSBrbyBkdSB0cnVuZyBjYW4gdGhpZXQKICAgIC8vIGNvbiBkdW5nIHRyb25nIFRIIG5ndW9jIGxhaSAoc28gdHJ1bmcgPj0gc28gdHJ1bmcgY2FuIHRoaWV0KSA6MwogICAgbGwgZWdncyA9IDA7CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47aSArKykKICAgIHsKICAgICAgICBpZigobGwpcFtpXSA+IHRpbWUpY29udGludWU7CiAgICAgICAgZWdncyArKzsvLyBUSCBjdWEgcXVhIGRhdSB0aWVuCiAgICAgICAgZWdncyArPSAxTEwgKiAoKHRpbWUgLSBwW2ldKS90W2ldKTsgLy8gVEggc2F1IHF1YSB0cnVuZyBkYXUgdGllbgogICAgfQogICAgLy8gICBjb3V0PDxlZ2dzPDwnXG4nOwogICAgaWYoZWdncyA+PSB4KXJldHVybiB0cnVlOwogICAgcmV0dXJuIGZhbHNlOwp9CiAKaW50IG1haW4oKQp7CiAgICBjaW4+Pm4+Png7CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47aSArKyljaW4+PnBbaV0+PnRbaV07CgogICAgbGwgZCA9IDEsYyA9IDFlMTgsYW5zID0gLTEsbWlkOwogICAgd2hpbGUoZCA8PSBjKQogICAgewogICAgICAgIG1pZCA9IChkICsgYykvMjsKICAgICAgICBpZihjaGVjayhtaWQpKQogICAgICAgIHsKICAgICAgICAgICAgYW5zID0gbWlkOwogICAgICAgICAgICBjID0gbWlkIC0gMTsKICAgICAgICB9CiAgICAgICAgZWxzZSBkID0gbWlkICsgMTsKICAgIH0KICAgIGNvdXQ8PGFuczsKICAgIC8vIGV6OwogICAgcmV0dXJuIDA7Cn0K