#include <bits/stdc++.h>
using namespace std;
struct cow
{
int begin,end;
}a[10004];
int cmp(cow x,cow y)
{
return x.begin<y.begin;
}
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i].begin>>a[i].end;
}
sort(a+1,a+n+1,cmp);
int ce=0;
int maxc=0;
int maxl=0;
for(int i=1;i<=n;i++)
{
if(a[i].begin>ce)
{
maxl=max(maxl,a[i].begin-ce);
ce=a[i].begin;
}
ce=max(ce,a[i].end);
}
cout<<maxl<<" "<<maxc;
return 0;
}