#include<bits/stdc++.h>
using namespace std;
long long tochki[10000005];
/*int kolko(long long masiv[][2],long long n,long long i){
    long long broi=0;
    for(long long j=0;j<n;j++){
        if(masiv[j][0]<=i && masiv[j][1]>=i+1){
            broi++;
        }
    }
    return broi;
}*/
int main(){
long long n;
long long nachalo=-1,krai=-1;
long long koord[50005][2];
cin>>n;
for(long long i=0;i<n;i++){
    cin>>koord[i][0]>>koord[i][1];
    if(i==0){
        nachalo=koord[i][0];
        krai=koord[i][1];
    }else{
        if(nachalo>koord[i][0]){
            nachalo=koord[i][0];
        }
        if(krai<koord[i][1]){
            krai=koord[i][1];
        }
    }
}
/*for(long long i=0;i<n;i++){
    cout<<koord[i][0]<<" "<<koord[i][1];
}
cout<<nachalo<<" "<<krai<<endl;*/
for(long long i=0;i<n;i++){
    for(long long j=koord[i][0];j<koord[i][1];j++){
        tochki[nachalo+j-1]++;
    }
    /*for(int i=0;i<krai-nachalo;i++){
        cout<<tochki[nachalo+i]<<" ";
    }
    cout<<endl;*/
}


/*long long maks=0,br=0;
for(long long i=nachalo;i<=krai;i++){
    if(maks<kolko(koord,n,i)){
        maks=kolko(koord,n,i);
        br=1;
    }else{
        if(maks==kolko(koord,n,i)){
            br++;
        }
    }
}*/
/*for(int i=0;i<krai-nachalo;i++){
    cout<<tochki[i]<<endl;
}*/
sort(tochki,tochki+krai-nachalo);
reverse(tochki,tochki+krai-nachalo);
//cout<<krai-nachalo<<endl<<endl;
/*for(int i=0;i<krai-nachalo;i++){
    cout<<tochki[i]<<endl;
}*/
long long YesNo=0;
long long br=0;
cout<<tochki[0]<<endl;
for(long long i=0;i<krai-nachalo;i++){
    if(tochki[i]==tochki[i-1]){
        br++;
    }else{
        YesNo=1;
    }
}
cout<<br<<endl;
//cout<<maks<<endl<<br<<endl;
return 0;
}