from math import gcd def linear_congruence(a: int, b: int, m: int) -> tuple[int, int] | tuple[None, None]: # a x = b (mod m) g = gcd(a, m) if b % g != 0: return None, None a2 = a // g b2 = b // g m2 = m // g # a' x = b' (mod m') x = b2 * pow(a2, -1, m2) % m2 return x, m2 def crt2(r1, m1, r2, m2): # x = r1 (mod m1) # x = r1 + m1 t # r1 + m1 t = r2 (mod m2) # m1 t = r2 - r1 (mod m2) t, m = linear_congruence(m1, r2 - r1, m2) if t is None: return None, None x = r1 + m1 * t mod = m1 * m return x % mod, mod def crt3(r1, m1, r2, m2, r3, m3): r, m = crt2(r1, m1, r2, m2) if r is None: return None, None r, m = crt2(r, m, r3, m3) return r, m X1, Y1 = map(int, input().split()) X2, Y2 = map(int, input().split()) X3, Y3 = map(int, input().split()) r, _ = crt3(X1, Y1, X2, Y2, X3, Y3) if r is None: print(-1) else: print(r)