#include<bits/stdc++.h>
#define ll long long
#define ld long double
#define vl vector<ll>
#define vi vector<int>
#define all(v) v.begin(), v.end()
#define rall(v) v.rbegin(), v.rend()
#define pb push_back
#define sz(v) (ll)(v.size())
#define f first
#define s second
#define pii pair<int, int>
#define pll pair<ll, ll>
using namespace std;
const ll sz = 5e5+5;
ll a[sz], segtree[4*sz], lazy[4*sz];
void build(ll v, ll l, ll r)
{
if(l == r)
segtree[v] = a[l];
else
{
ll mid = (l + r) / 2;
build(2*v, l, mid);
build(2*v+1, mid+1, r);
segtree[v] = max(segtree[2*v], segtree[2*v+1]);
}
}
void push(ll v, ll l, ll r)
{
if(lazy[v])
{
segtree[v] += lazy[v];
if(l != r)
{
lazy[2*v] += lazy[v];
lazy[2*v+1] += lazy[v];
}
lazy[v] = 0;
}
}
void update(ll v, ll l, ll r, ll tl, ll tr, ll val)
{
push(v, l, r);
if(l > r || l > tr || r < tl)
return;
if(tl <= l && r <= tr)
{
segtree[v] += val;
if(l != r)
{
lazy[2*v] += val;
lazy[2*v+1] += val;
}
return;
}
ll mid = (l + r) / 2;
update(2*v, l, mid, tl, tr, val);
update(2*v+1, mid+1, r, tl, tr, val);
segtree[v] = max(segtree[2*v], segtree[2*v+1]);
}
ll query(ll v, ll l, ll r, ll tl, ll tr)
{
if(l > r || l > tr || r < tl)
return LLONG_MIN;
push(v, l, r);
if(tl <= l && r <= tr)
return segtree[v];
ll mid = (l + r) / 2;
ll lans = query(2*v, l, mid, tl, tr);
ll rans = query(2*v+1, mid+1, r, tl, tr);
return max(lans, rans);
}
void solve()
{
ll n, i, j;
cin >> n;
vector<pll>vect;
map<ll, ll>mp;
for(i = 1; i <= n; i++)
{
ll x, y;
cin >> x >> y;
mp[x]+=y;
}
for(auto u : mp)
vect.pb({u.f, u.s});
sort(all(vect));
ll res = 0;
for(i = 0; i < 1; i++)
{
ll sm = 0;
for(j = i; j < sz(vect); j++)
{
sm += vect[j].s;
res = max(res, sm - (vect[j].f - vect[i].f));
a[j+1] = sm - (vect[j].f - vect[i].f);
}
}
for(i = 0; i < sz(vect); i++)
res = max(res, a[i+1]);
build(1, 1, sz(vect));
for(i = 2; i <= sz(vect); i++)
{
ll f = query(1, 1, sz(vect), i, i);
ll g = vect[i-1].s;
update(1, 1, sz(vect), i, sz(vect), g-f);
res = max(res, query(1, 1, sz(vect), i, sz(vect)));
}
cout << res << "\n";
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
ll tests = 1;
//cin >> tests;
while(tests--)
{
solve();
}
}