#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <cmath>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <unordered_map>
#include <unordered_set>
#include <bitset>
#include <numeric>
#include <functional>
#include <iomanip>
#include <sstream>
#include <numeric>
#define endl "\n"
#define int long long
#define pb push_back
#define fi first
#define se second
#pragma GCC optimize("O3")
#pragma GCC optimize("Ofast")
using namespace std;
int INF=1e18;
int MOD=1e9+7;
int MOD2=1e9;
int ABCMOD=998244353;
inline void solve(){
int n; cin>>n;
vector<pair<int,int>> a(n+1);
for(int i=1;i<=n;i++) cin>>a[i].fi>>a[i].se;
sort(a.begin(),a.end());
vector<int> psum(n+1);
for(int i=1;i<=n;i++) psum[i]=psum[i-1]+a[i].se;
int mx=-INF;
mx=a[1].fi;
int ans=0;
ans=max(ans,mx);
int ind=1;
for(int i=2;i<=n;i++){
int temp=psum[i]-psum[ind-1]-(a[i].fi-a[ind].fi);
if(temp<a[i].se){
ind=i;
ans=max(ans,a[i].se);
}
ans=max(ans,temp);
}
cout<<ans<<endl; return;
}
signed main(){
ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
//freopen("hps.in", "r", stdin); freopen("hps.out", "w", stdout);
int T=1; //cin>>T;
while (T--){
solve();
}
}