#include<bits/stdc++.h>
using namespace std;
int n;
struct node{
int l,r,z;
}a[5010];
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;
a[i].z=a[i].r-a[i].l;
}
sort(a+1,a+1+n,cmp);
int cnt=0,h=0,ans=a[1].z;
for(int i=1;i<=n;i++){
if(a[i].r<=a[i+1].l) ans+=a[i+1].z;
cnt=max(a[i+1].l-a[i].r,h);
h=cnt;
}
cout<<ans<<" "<<cnt;
return 0;
}