#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
ll n;
struct node
{
ll be;
ll va;
};
ll dp[3000020];
vector<node> g[3000020];
int main()
{
cin>>n;
ll maxzhong=0;
for(ll i=1;i<=n;i++)
{
ll begin,end;
cin>>begin>>end;
ll val=end-begin+1;
node a;
a.be=begin-1;
a.va=val;
maxzhong=max(maxzhong,end);
g[end].push_back(a);
}
for(ll i=1;i<=maxzhong;i++)
{
dp[i]=dp[i-1];
for(ll j=0;j<g[i].size();j++)
{
node a=g[i][j];
dp[i]=max(dp[i],dp[a.be]+a.va);
}
}
cout<<dp[maxzhong]<<endl;
}