def modulo(x, y): return (x % y + y) % y def floor(x, y): r = modulo(x, y) return (x - r) // y def gcd(a, b): if b == 0: return a else: return gcd(b, modulo(a, b)) def ext_gcd(a, b): if b == 0: return a, 1, 0 else: g, x, y = ext_gcd(b, modulo(a, b)) return g, y, x - floor(a, b) * y def crt(ss): r = 0 m = 1 for bi, mi in ss: g, p, _ = ext_gcd(m, mi) if (bi - r) % g != 0: return -1, -1 t = modulo(floor(bi - r, g) * p, floor(mi, g)) r = r + m * t m = floor(m * mi, g) r = modulo(r, m) return r, m def main(): n = int(input()) rs = [] for _ in range(n): rs.append(list(map(int, input().split()))) ans, _ = crt(rs) print(ans) if __name__ == "__main__": main()