n = int(input()) A = [0] * n B = [0] * n for i in range(n): B[i], A[i] = map(int, input().split()) mi = [None] * n ma = [None] * n for i in range(n): l = 1 r = 1 << 60 for j in range(n): if i == j: continue if A[i] == A[j]: if B[i] > B[j]: r = -1 break elif A[i] > A[j]: r = min(r, (B[j] - B[i]) // (A[i] - A[j])) else: db = B[i] - B[j] da = A[j] - A[i] l = max(l, (db + da - 1) // da) if l <= r: mi[i] = (l, r) l = 1 r = 1 << 60 for j in range(n): if i == j: continue if A[i] == A[j]: if B[i] < B[j]: r = -1 break elif A[i] > A[j]: da = A[i] - A[j] db = B[j] - B[i] l = max(l, (db + da - 1) // da) else: r = min(r, (B[i] - B[j]) // (A[j] - A[i])) if l <= r: ma[i] = (l, r) ans = 1 << 60 x = 1 << 60 for i in range(n): if mi[i] is None: continue l1, r1 = mi[i] for j in range(n): if i == j or ma[j] is None: continue l2, r2 = ma[j] if l2 <= l1 <= r1: ma_ = A[j] * l1 + B[j] mi_ = A[i] * l1 + B[i] if ma_ - mi_ < ans: ans = ma_ - mi_ x = l1 elif ma_ - mi_ == ans and l1 < x: x = l1 if l1 <= l2 <= r1: ma_ = A[j] * l2 + B[j] mi_ = A[i] * l2 + B[i] if ma_ - mi_ < ans: ans = ma_ - mi_ x = l2 elif ma_ - mi_ == ans and l1 < x: x = l2 print(x)