n = int(input()) m = 1000010 cnt = [0] * (2 * m + 1) for _ in range(n): a, b = map(int, input().split()) cnt[a + m] -= 1 cnt[b + m] += 1 cnt[(b - a - 1) + m] -= 1 cum = [0] * (2 * m + 1) for i in range(1, 2 * m + 1): cum[i] = cum[i - 1] + cnt[i] ans = [0] * m for i in range(1, m): t = 0 for l in range(0, m, i): r = min(m, l + i) ans[i] += (cum[r - 1 + m] - cum[l - 1 + m]) * t t += 1 t = -1 for r in range(0, -m, -i): l = max(-m + 1, r - i) ans[i] += (cum[r - 1 + m] - cum[l - 1 + m]) * t t -= 1 print(ans[1:].index(min(ans[1:m])) + 1)