#include<bits/stdc++.h>
#define int long long
using namespace std;
struct Node{
int l,r,len;
}a[150001];
bool cmp(Node x1,Node x2){
return x1.r<x2.r;
}
int dp[150001];
signed main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int n,ans=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].l>>a[i].r;
a[i].len=a[i].r-a[i].l+1;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
int ma=max(a[i].len,dp[i-1]);
int l=0,r=i-1,mid,tmp;
while(l<=r){
mid=l+r>>1;
if(a[mid].r<a[i].l){
tmp=mid;
l=mid+1;
}
else{
r=mid-1;
ans=mid-1;
}
}
ma=max(ma,dp[tmp]+a[i].len);
ans=max(ans,ma);
dp[i]=ma;
}
cout<<ans;
return 0;
}