include [HTML_REMOVED]
using namespace std;
const int N =10010;
int a[N] , b[N];
int arr[N];
int result[N];
int findmin(int a[],int len){
int min = 1e9+10;
for(int i=0;i[HTML_REMOVED] a[i] && a[i] != 0){
min = a[i];
}
}
return min;
}
int findmax(int a[],int len){
int max = -1;
for(int i=0;i[HTML_REMOVED]= b){
return true;
}
return false;
}
int main(){
int n;
cin >> n;
for(int i = 0;i[HTML_REMOVED]> a[i] >> b[i];
}
int mid;
for (int i=0;i<n;i++){
int left = 0,right = 1e9;
if(a[i] == b[i]){
result[i] = 1;
continue;
}
while(left < right){
int mid = (left + right) >> 1;
if(check(a[i],b[i],mid,n)){
right = mid;
}else{
left = mid + 1;
}
}
result[i] = right;
}
int l = findmax(result,n);
cout<< l <<" ";
for (int i=0;i<n;i++){
if(a[i] == b[i]){
result[i] = 1;
continue;
}
int left = 0,right = 1e9;
while(left < right){
int mid = (left + right + 1) >> 1;
if(check1(a[i],b[i],mid,n)){
left = mid;
}else{
right = mid - 1;
}
}
result[i] = right;
}
int r = findmin(result,n);
cout<<r;
return 0;
}