#include <bits/stdc++.h>
using namespace std;
#define file(name) if(fopen(name".inp","r")){freopen(name".INP","r",stdin);freopen(name".OUT","w",stdout);}
#define Fastio ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
#define int long long
#define endl '\n'
const int N = 1e6 + 5;
const int mod = 1e9 + 7;
int n,k,a[N], b[N];
bool check(int target){
int cnt = 0;
for (int i = 0; i < n; i++){
if (target >= a[i]){
cnt += (target - a[i]) / b[i] + 1;
if (cnt > k) return 1;
}
}
return cnt > k;
}
void sol(){
cin >> n >> k;
for (int i = 0; i < n; i++) cin >> a[i] >> b[i];
int l = 0, r = 1e18,res = -1;
while (l <= r){
int m = (l + r) / 2;
if (check(m)){
res = m;
r = m - 1;
}
else l = m + 1;
}
cout << res;
}
signed main(){
Fastio
//file("");
sol();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgZmlsZShuYW1lKSBpZihmb3BlbihuYW1lIi5pbnAiLCJyIikpe2ZyZW9wZW4obmFtZSIuSU5QIiwiciIsc3RkaW4pO2ZyZW9wZW4obmFtZSIuT1VUIiwidyIsc3Rkb3V0KTt9CiNkZWZpbmUgRmFzdGlvICAgICAgICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IGNpbi50aWUobnVsbHB0cik7IGNvdXQudGllKG51bGxwdHIpOwojZGVmaW5lIGludCBsb25nIGxvbmcKI2RlZmluZSBlbmRsICdcbicKY29uc3QgaW50IE4gPSAxZTYgKyA1Owpjb25zdCBpbnQgbW9kID0gMWU5ICsgNzsKaW50IG4sayxhW05dLCBiW05dOwpib29sIGNoZWNrKGludCB0YXJnZXQpewogICAgaW50IGNudCA9IDA7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKyl7CiAgICAgICBpZiAodGFyZ2V0ID49IGFbaV0pewogICAgICAgIGNudCArPSAodGFyZ2V0IC0gYVtpXSkgLyBiW2ldICsgMTsKICAgICAgICBpZiAoY250ID4gaykgcmV0dXJuIDE7CiAgICAgICB9CiAgICB9CiAgICByZXR1cm4gY250ID4gazsKfQp2b2lkIHNvbCgpewogIGNpbiA+PiBuID4+IGs7CiAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIGNpbiA+PiBhW2ldID4+IGJbaV07CiAgaW50IGwgPSAwLCByID0gMWUxOCxyZXMgPSAtMTsKICB3aGlsZSAobCA8PSByKXsKICAgIGludCBtID0gKGwgKyByKSAvIDI7CiAgICBpZiAoY2hlY2sobSkpewogICAgICAgIHJlcyA9IG07CiAgICAgICAgciA9IG0gLSAxOwogICAgfQogICAgZWxzZSBsID0gbSArIDE7CiAgfQogIGNvdXQgPDwgcmVzOwp9CnNpZ25lZCBtYWluKCl7CiAgICAgICAgRmFzdGlvCiAgICAgLy9maWxlKCIiKTsKICAgICBzb2woKTsKICAgICAgcmV0dXJuIDA7Cn0=