#include<bits/stdc++.h>
using namespace std;
int n,f[100001],ans;
struct node{
int l;
int r;
int k;
}a[100001];
int cmp(node x,node y)
{
return x.r<y.r;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i].l>>a[i].r,a[i].k=a[i].r-a[i].l+1;
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++) f[i]=a[i].k;
for(int i=2;i<=n;i++)
{
int p=0;
for(int j=1;j<i;j++)
{
if(a[i].l!=a[j].r) p=max(p,a[j].k);
}
f[i]+=p;
ans=max(ans,f[i]);
}
cout<<ans;
}