#include <bits/stdc++.h>
using namespace std;
struct cc{
int l;
int r;
}e[100001];
int ans,maxn=-1;
bool cmp(cc x,cc y){
if (x.l==y.l)
return x.r<y.r;
return x.l<y.l;
}
int main()
{
int n;
cin>>n;
for (int i=1;i<=n;i++){
cin>>e[i].l>>e[i].r;
}
sort(e+1,e+n+1,cmp);
int cnt=2;
int i=e[1].l,j=e[1].r;
while (cnt<=n){
if (e[cnt-1].r>e[cnt].l) j=e[cnt].r;
else {
ans+=j-i;
i=e[cnt+1].l;
j=e[cnt+1].r;
maxn=max(maxn,e[cnt].l-e[cnt-1].r);
}
cnt++;
}
cout<<ans<<" "<<maxn<<endl;
return 0;
}