def read_data(): x1, y1 = map(int, input().split()) x2, y2 = map(int, input().split()) x3, y3 = map(int, input().split()) return x1, y1, x2, y2, x3, y3 def gcd_ext(m: int, n: int) -> (int, int, int): '''拡張ユークリッドの互除法 mx + ny = gcd(x, y) となる、gcd(x, y), x, y を返す。 ''' x, y, u, v = 1, 0, 0, 1 while n: k, m = divmod(m, n) m, n = n, m x, y, u, v = u, v, x - u * k, y - v * k return m, x, y def solve2(x1, y1, x2, y2): gcd, a, b = gcd_ext(y1, y2) lcm = y1 * y2 // gcd k, r = divmod(x1 - x2, gcd) if r != 0: return -1, lcm z = (x1 - k * a * y1) % lcm # z = (x2 + k * b * y2) % lcm return z, lcm def solve3(x1, y1, x2, y2, x3, y3): x12, y12 = solve2(x1, y1, x2, y2) if x12 == -1: return -1 # z % y12 = x12 and z % y3 = x3 z, lcm = solve2(x12, y12, x3, y3) return z x1, y1, x2, y2, x3, y3 = read_data() print(solve3(x1, y1, x2, y2, x3, y3))