#include<bits/stdc++.h>
#define int long long
using namespace std;
struct node
{
int start,end,sum;
};
bool cmp(node x,node y)
{
return x.start<y.start;
}
node a[1005],b[1005];
int f[1005];
signed main()
{
int n;
cin>>n;
fo(i,1,n)
{
cin>>a[i].start>>a[i].end;
a[i].sum=a[i].end-a[i].start+1;
}
sort(a+1,a+n+1,cmp);
f[1]=a[1].sum;
for(int i=1;i<=n;i++){
for(int j=i-1;j>0;j--)
if(a[i].start>a[j].end){
f[i]=max(f[i],a[i].sum+f[j]);
}
}
int ans=0;
for(int i=1;i<=n;i++) ans=max(ans,f[i]);
cout<<ans<<"\n";
return 0;
}