#include <iostream>
#include <algorithm>
using namespace std;
int n, k;
int m;
const int N = 1e6 + 10;
int t[N], c[N], mint, maxt;
bool check(int tmp){
int s = 0;
for (int i = 0;i < n;i ++){
if (tmp < t[i]) s += c[i] * (t[i] - tmp);
if (s > m) return false;
}
return true;
}
int main(){
cin >> n >> m >> k;
mint = k;
for (int i = 0;i < n; i ++){
cin >> t[i] >> c[i];
maxt = max(maxt, t[i]);
}
int l = mint, r = maxt;
while (l < r){
int mid = l + r >> 1;
if (check(mid)){
r = mid;
}else{
l = mid + 1;
}
}
cout << l;
}