#include <iostream>
#include <fstream>
using namespace std;
int main()
{
bool f[1000001]={0};
long i,j,k,n,m,beg,end,sum,max,ans,min;
cin>>n;
min=9999999;
max=0;
for(i=1;i<=n;i++)
{
cin>>beg>>end;
for(j=beg;j<end;j++) f[j]=1;
if(end-1>max) max=end-1;
if(beg<min) min=beg;
}
sum=0;ans=0;
for(i=min;i<=max;i++)
{
if(f[i]==1) ans++;
else ans=0;
if(ans>sum) sum=ans;
}
cout<<sum<<" ";
sum=0;ans=0;
for(i=min;i<=max;i++)
{
if(f[i]==0) ans++;
else ans=0;
if(ans>sum) sum=ans;
}
cout<<sum<<endl;
//system("pause");
return 0;
}
#include <fstream>
using namespace std;
int main()
{
bool f[1000001]={0};
long i,j,k,n,m,beg,end,sum,max,ans,min;
cin>>n;
min=9999999;
max=0;
for(i=1;i<=n;i++)
{
cin>>beg>>end;
for(j=beg;j<end;j++) f[j]=1;
if(end-1>max) max=end-1;
if(beg<min) min=beg;
}
sum=0;ans=0;
for(i=min;i<=max;i++)
{
if(f[i]==1) ans++;
else ans=0;
if(ans>sum) sum=ans;
}
cout<<sum<<" ";
sum=0;ans=0;
for(i=min;i<=max;i++)
{
if(f[i]==0) ans++;
else ans=0;
if(ans>sum) sum=ans;
}
cout<<sum<<endl;
//system("pause");
return 0;
}