#include <bits/stdc++.h>
using namespace std;
long long m, n, a, b, p, q, x, y;
long long mul(long long a, long long b, long long mod) {
  long long c = 0, bo = b > 0;
  b = abs(b);
  while (b) {
    if (b & 1) c = (c + a) % mod;
    a = (a + a) % mod;
    b >>= 1;
  }
  return bo ? c : -c;
}
void error() {
  puts("-1");
  exit(0);
}
void exgcd(long long a, long long b) {
  if (b == 0) {
    x = a > 0 ? 1 : -1;
    y = 0;
    return;
  }
  exgcd(b, a % b);
  long long z = x;
  x = y;
  y = z - (a / b) * y;
}
int GCD(int a, int b) { return b ? GCD(b, a % b) : a; }
void solve(long long m, long long n, long long a, long long b, long long p,
           long long q) {
  long long gcd = GCD(p, m), lcm = p * m / gcd;
  p /= gcd;
  m /= gcd;
  if (a % gcd) error();
  a /= gcd;
  exgcd(p, -m);
  x = x * (-a) % lcm;
  long long a1 = lcm, b1 = x;
  gcd = GCD(q, n), lcm = q * n / gcd;
  q /= gcd;
  n /= gcd;
  if (b % gcd) error();
  b /= gcd;
  exgcd(q, -n);
  x = x * (-b) % lcm;
  long long c1 = lcm, d1 = x;
  gcd = GCD(a1, c1), lcm = a1 * c1 / gcd;
  a1 /= gcd;
  c1 /= gcd;
  b1 = d1 - b1;
  if (b1 % gcd) error();
  b1 /= gcd;
  exgcd(a1, -c1);
  x = mul(x, b1, lcm);
  x = (mul(a1 * gcd, x, lcm) + d1 - b1 * gcd % lcm) % lcm;
  y = lcm;
}
int main() {
  scanf("%lld%lld%lld%lld%lld%lld", &m, &n, &a, &b, &p, &q);
  if (p == 0) {
    if (a != m && a != 0) error();
    if (q < 0) n = 0;
    if (b == n || b == 0)
      printf("%lld %lld", a, b);
    else
      printf("%lld %lld", a, n);
    return 0;
  }
  if (q == 0) {
    if (b != n && b != 0) error();
    if (p < 0) m = 0;
    if (a == m || b == 0)
      printf("%lld %lld", a, b);
    else
      printf("%lld %lld", m, b);
    return 0;
  }
  solve(m, n, a, b, p, q);
  x %= y;
  if (x < 0) x += y;
  m <<= 1;
  n <<= 1;
  printf("%lld %lld", ((p * x + a) % m + m) % m, ((q * x + b) % n + n) % n);
}
