#pragma GCC optimize("O3,unroll-loops")
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define all(A) A.begin(),A.end()
#define bp '\n'
#define vp cout<<'\n';
const int MOD=1e9+7;
const int MNLL=-1e18;
const int MXLL=1e18;
const int N=505;
signed main(){
cin.tie(nullptr)->sync_with_stdio(false);
int n,l,r,mx=MNLL,mn=MXLL,sum=0;
cin>>n;
vector<pair<int,int>>a(n+1); a[0]={MNLL,MNLL};
vector<int>b(n+1,0);
for(int i=1;i<=n;++i){
cin>>l>>r;
a[i]=make_pair(l,r);
mx=max(mx,r);
}
sort(all(a));
for(int i=1;i<=n;++i){
b[i]=b[i-1]+a[i].second;
}
mn=b[0]-a[1].first;
for(int i=1;i<=n;++i){
int x=b[i]-a[i].first;
mn=min(mn,x);
mx=max(mx,x-mn);
}
cout<<mx;
}
/*
S-(ar-al)
(br-bl)-(ar-al)
(br-ar)-(bl-al)
*/