//Phung Anh Khang
#include<bits/stdc++.h>
using namespace std;
#define ii pair<int,int>
#define p first
#define k second
const int N = 1e4;
const int T = 3e4;
int n, t = 0, res = 0;
int st[T*4+5];
ii a[N+5];
bool cmp(ii a, ii b){
if(a.k != b.k) return a.k < b.k;
return a.p < a.p;
}
int get(int id, int l, int r, int u, int v){
if(r < u || v < l) return 0;
if(u <= l && r <= v) return st[id];
int mid = (l+r) >> 1;
return max(get(id*2, l, mid, u, v), get(id*2+1, mid+1, r, u, v));
}
void update(int id, int l, int r, int pos, int val){
if(l == r){
st[id] = max(st[id], val);
return;
}
int mid = (l+r) >> 1;
if(pos <= mid) update(id*2, l, mid, pos, val);
else update(id*2+1, mid+1, r, pos, val);
st[id] = max(st[id*2], st[id*2+1]);
}
void checkTree(int id, int l, int r){
if(l == r){
cout << l << ' ' << r << ' ' << id << '\n';
return;
}
int mid = (l+r) >> 1;
checkTree(id*2, l, mid);
checkTree(id*2+1, mid+1, r);
cout << l << ' ' << r << ' ' << id << '\n';
}
void solve(){
cin >> n;
for(int i = 1; i <= n; i++){
cin >> a[i].p >> a[i].k;
t = max(t, a[i].k);
}
sort(a+1, a+n+1, cmp);
for(int i = 1; i <= n; i++){
int preVal = get(1, 0, t, 0, a[i].p);
int sum = preVal + a[i].k - a[i].p;
res = max(res, sum);
update(1, 0, t, a[i].k, sum);
}
cout << res;
}
signed main(){
ios_base::sync_with_stdio(0); cin.tie(0);
// freopen("test.INP", "r", stdin);
// freopen("test.OUT", "w", stdout);
solve();
return 0;
}
Ly9QaHVuZyBBbmggS2hhbmcKI2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBpaSBwYWlyPGludCxpbnQ+CiNkZWZpbmUgcCBmaXJzdAojZGVmaW5lIGsgc2Vjb25kCmNvbnN0IGludCBOID0gMWU0Owpjb25zdCBpbnQgVCA9IDNlNDsKaW50IG4sIHQgPSAwLCByZXMgPSAwOwppbnQgc3RbVCo0KzVdOwppaSBhW04rNV07Cgpib29sIGNtcChpaSBhLCBpaSBiKXsKCWlmKGEuayAhPSBiLmspIHJldHVybiBhLmsgPCBiLms7CglyZXR1cm4gYS5wIDwgYS5wOwp9CgppbnQgZ2V0KGludCBpZCwgaW50IGwsIGludCByLCBpbnQgdSwgaW50IHYpewoJaWYociA8IHUgfHwgdiA8IGwpIHJldHVybiAwOwoJaWYodSA8PSBsICYmIHIgPD0gdikgcmV0dXJuIHN0W2lkXTsKCWludCBtaWQgPSAobCtyKSA+PiAxOwoJcmV0dXJuIG1heChnZXQoaWQqMiwgbCwgbWlkLCB1LCB2KSwgZ2V0KGlkKjIrMSwgbWlkKzEsIHIsIHUsIHYpKTsKfQoKdm9pZCB1cGRhdGUoaW50IGlkLCBpbnQgbCwgaW50IHIsIGludCBwb3MsIGludCB2YWwpewoJaWYobCA9PSByKXsKCQlzdFtpZF0gPSBtYXgoc3RbaWRdLCB2YWwpOwoJCXJldHVybjsKCX0KCWludCBtaWQgPSAobCtyKSA+PiAxOwoJaWYocG9zIDw9IG1pZCkgdXBkYXRlKGlkKjIsIGwsIG1pZCwgcG9zLCB2YWwpOwoJZWxzZSB1cGRhdGUoaWQqMisxLCBtaWQrMSwgciwgcG9zLCB2YWwpOwoJc3RbaWRdID0gbWF4KHN0W2lkKjJdLCBzdFtpZCoyKzFdKTsKfQoKdm9pZCBjaGVja1RyZWUoaW50IGlkLCBpbnQgbCwgaW50IHIpewoJaWYobCA9PSByKXsKCQljb3V0IDw8IGwgPDwgJyAnIDw8IHIgPDwgJyAnIDw8IGlkIDw8ICdcbic7CgkJcmV0dXJuOwoJfQoJaW50IG1pZCA9IChsK3IpID4+IDE7CgljaGVja1RyZWUoaWQqMiwgbCwgbWlkKTsKCWNoZWNrVHJlZShpZCoyKzEsIG1pZCsxLCByKTsKCWNvdXQgPDwgbCA8PCAnICcgPDwgciA8PCAnICcgPDwgaWQgPDwgJ1xuJzsKfQoKdm9pZCBzb2x2ZSgpewoJY2luID4+IG47Cglmb3IoaW50IGkgPSAxOyBpIDw9IG47IGkrKyl7CgkJY2luID4+IGFbaV0ucCA+PiBhW2ldLms7CgkJdCA9IG1heCh0LCBhW2ldLmspOwoJfQoJc29ydChhKzEsIGErbisxLCBjbXApOwoJZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspewoJCWludCBwcmVWYWwgPSBnZXQoMSwgMCwgdCwgMCwgYVtpXS5wKTsKCQlpbnQgc3VtID0gcHJlVmFsICsgYVtpXS5rIC0gYVtpXS5wOwoJCXJlcyA9IG1heChyZXMsIHN1bSk7CgkJdXBkYXRlKDEsIDAsIHQsIGFbaV0uaywgc3VtKTsKCX0KCWNvdXQgPDwgcmVzOwp9CgpzaWduZWQgbWFpbigpewoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsKCS8vIGZyZW9wZW4oInRlc3QuSU5QIiwgInIiLCBzdGRpbik7CgkvLyBmcmVvcGVuKCJ0ZXN0Lk9VVCIsICJ3Iiwgc3Rkb3V0KTsKCXNvbHZlKCk7CglyZXR1cm4gMDsKfQ==