#include <cstdio>
#include <queue>
#include <set>
#include <algorithm>
using namespace std;
int n,m;
int gs[40005];
int gf[40005];
int rp[40005];
int dp[40005];
multiset<int> s;
void pop_back(deque<int>& u){
if(u.size()>1) s.erase(s.find(dp[u[u.size()-2]+1]+rp[u.back()]));
u.pop_back();
}
void pop_front(deque<int>& u){
if(u.size()>1) s.erase(s.find(dp[u.front()+1]+rp[u[1]]));
u.pop_front();
}
bool gao(int top){
s.clear();
deque<int> u;
for(int i=0,j=0;i<n;i++){
while(gs[i+1]-gs[j]>top) j++;
while(u.size() && u.front()<j) pop_front(u);
while(u.size() && rp[u.back()]<=rp[i]) pop_back(u);
u.push_back(i);
if(u.size()>1) s.insert(dp[u[u.size()-2]+1]+rp[u.back()]);
dp[i+1]=rp[u.front()]+dp[j];
if(s.size()) dp[i+1]=min(*s.begin(),dp[i+1]);
}
return dp[n]<=m;
}
int main(){
while(scanf("%d%d",&n,&m)==2){
for(int i=0;i<n;i++){
scanf("%d%d",rp+i,gf+i);
gs[i+1]=gs[i]+gf[i];
}
int lo=*max_element(gf,gf+n),hi=gs[n];
while(lo<hi){
int x=(lo+hi)/2;
if(gao(x)) hi=x; else lo=x+1;
}
printf("%d\n",lo);
}
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPHF1ZXVlPgojaW5jbHVkZSA8c2V0PgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG4sbTsKaW50IGdzWzQwMDA1XTsKaW50IGdmWzQwMDA1XTsKaW50IHJwWzQwMDA1XTsKaW50IGRwWzQwMDA1XTsKbXVsdGlzZXQ8aW50PiBzOwoKdm9pZCBwb3BfYmFjayhkZXF1ZTxpbnQ+JiB1KXsKICAgIGlmKHUuc2l6ZSgpPjEpIHMuZXJhc2Uocy5maW5kKGRwW3VbdS5zaXplKCktMl0rMV0rcnBbdS5iYWNrKCldKSk7CiAgICB1LnBvcF9iYWNrKCk7Cn0KCnZvaWQgcG9wX2Zyb250KGRlcXVlPGludD4mIHUpewogICAgaWYodS5zaXplKCk+MSkgcy5lcmFzZShzLmZpbmQoZHBbdS5mcm9udCgpKzFdK3JwW3VbMV1dKSk7CiAgICB1LnBvcF9mcm9udCgpOwp9Cgpib29sIGdhbyhpbnQgdG9wKXsKICAgIHMuY2xlYXIoKTsKICAgIGRlcXVlPGludD4gdTsKICAgIGZvcihpbnQgaT0wLGo9MDtpPG47aSsrKXsKICAgICAgICB3aGlsZShnc1tpKzFdLWdzW2pdPnRvcCkgaisrOwogICAgICAgIHdoaWxlKHUuc2l6ZSgpICYmIHUuZnJvbnQoKTxqKSBwb3BfZnJvbnQodSk7CiAgICAgICAgd2hpbGUodS5zaXplKCkgJiYgcnBbdS5iYWNrKCldPD1ycFtpXSkgcG9wX2JhY2sodSk7CiAgICAgICAgdS5wdXNoX2JhY2soaSk7CiAgICAgICAgaWYodS5zaXplKCk+MSkgcy5pbnNlcnQoZHBbdVt1LnNpemUoKS0yXSsxXStycFt1LmJhY2soKV0pOwogICAgICAgIGRwW2krMV09cnBbdS5mcm9udCgpXStkcFtqXTsKICAgICAgICBpZihzLnNpemUoKSkgZHBbaSsxXT1taW4oKnMuYmVnaW4oKSxkcFtpKzFdKTsKICAgIH0KICAgIHJldHVybiBkcFtuXTw9bTsKfQoKaW50IG1haW4oKXsKICAgIHdoaWxlKHNjYW5mKCIlZCVkIiwmbiwmbSk9PTIpewogICAgICAgIGZvcihpbnQgaT0wO2k8bjtpKyspewogICAgICAgICAgICBzY2FuZigiJWQlZCIscnAraSxnZitpKTsKICAgICAgICAgICAgZ3NbaSsxXT1nc1tpXStnZltpXTsKICAgICAgICB9CiAgICAgICAgaW50IGxvPSptYXhfZWxlbWVudChnZixnZituKSxoaT1nc1tuXTsKICAgICAgICB3aGlsZShsbzxoaSl7CiAgICAgICAgICAgIGludCB4PShsbytoaSkvMjsKICAgICAgICAgICAgaWYoZ2FvKHgpKSBoaT14OyBlbHNlIGxvPXgrMTsKICAgICAgICB9CiAgICAgICAgcHJpbnRmKCIlZFxuIixsbyk7CiAgICB9Cn0K