代码
#二分
n=int (input())
a=[]
high=0
for _ in range(n):
a.append(list (map(int,input().split())))
high=max(high,a[-1][0])
def check(mid):
for x,cnt in a:
if cnt>x//mid:
return 1
if cnt<x//mid:
return -1
return 0
l,r=0,high
while l<r:
mid=(l+r+1)//2
if check(mid)<0:
l=mid
else:
r=mid-1
res1=l+1
l,r=1,high+1
while l<r:
mid=(l+r)//2
if check(mid)>0:
r=mid
else:
l=mid+1
res2=r-1
print(res1,res2)