#include using namespace std; long long modinv(long long a, long long m) { long long x = m, y = a, p = 1, q = 0, r = 0, s = 1; while (y != 0) { long long u = x / y; long long x0 = y; y = x - y * u; x = x0; long long r0 = p - r * u, s0 = q - s * u; p = r; r = r0; q = s; s = s0; } return q < 0 ? q + m : q; } long long CRT(long long a, long long x, int b, int y) { long long g = a, h = b; while (h > 0) { long long t = g; g = h; h = t % h; } if ((y - x) % g != 0) return -1; long long t = (y - x) / g % b * modinv(a/g, b/g) % b; long long ans = (x + a * t) % (a/g*b); if (ans < 0) ans += a/g*b; return ans; } long long lcm(long long a, long long b) { long long x = a, y = b; while (y > 0) { long long z = x; x = y; y = z % y; } return a / x * b; } int main() { int a, x, b, y, c, z; cin >> x >> a >> y >> b >> z >> c; long long ans = CRT(a, x, b, y); if (ans >= 0) ans = CRT(lcm(a, b), ans, c, z); cout << ans << endl; }