rt P1204
#include <bits/stdc++.h>
using namespace std;
const int N = 5e3+10;
struct node { int l,r; } a[N];
int n,ans1,ans2;
bool cmp(node a,node b) {
if(a.l==b.l) return a.r<b.r;
return a.l<b.l;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i].l>>a[i].r;
sort(a+1,a+1+n,cmp);
int sum=0;
for(int i=1;i<n;i++,ans1=max(sum,ans1))
{
if(a[i+1].l<=a[i].r)
if(a[i].l<=a[i+1].l && a[i].r>=a[i+1].r) sum+=a[i].r-a[i].l;
else sum+=a[i+1].r-a[i].l;
else sum=0;
}
for(int i=2;i<=n;i++)
ans2=max(ans2,a[i].l-a[i-1].r);
cout<<ans1<<' '<<ans2;
return 0;
}