func_code_string: #include <bits/stdc++.h>   using namespace std;   long long int n, m, sx, sy, vx, vy;   inline long long int extgcd(long long int a, long long int b, long long int &x,                               long long int &y) {     if (!b) {       x = 1;       y = 0;       return a;     }     long long int d = extgcd(b, a % b, x, y);     long long int _x = y;     long long int _y = x - (a / b) * y;     x = _x;     y = _y;     return d;   }   inline long long int crt(long long int a1, long long int m1, long long int a2,                            long long int m2) {     a1 = (a1 + m1) % m1;     a2 = (a2 + m2) % m2;     if (a1 > a2) {       swap(a1, a2);       swap(m1, m2);     }     long long int x, y;     long long int d = extgcd(m1, m2, x, y);     if ((a2 - a1) % d) return -1;     x *= (a2 - a1) / d;     y *= -(a2 - a1) / d;     x = (x - (x / (m2 / d)) * m2 / d + m2 / d) % (m2 / d);     return m1 * x + a1;   }   signed main() {     cin >> n >> m >> sx >> sy >> vx >> vy;     if ((sx == 0 && sy == 0) || (sx == 0 && sy == m) || (sx == n && sy == 0) ||         (sx == n && sy == m)) {       cout << sx <<     << sy << endl;       return 0;     }     if (!vx) {       if (sx == 0) {         if (vy == 1) {           cout <<  0   << m << endl;         } else {           cout <<  0 0 n  << endl;         }       } else if (sx == n) {         if (vy == 1) {           cout << n <<     << m << endl;         } else {           cout << n <<     << 0 << endl;         }       } else {         cout << -1 << endl;       }       return 0;     }     if (!vy) {       if (sy == 0) {         if (vx == 1) {           cout << n <<   0  << endl;         } else {           cout <<  0 0 n  << endl;         }       } else if (sy == m) {         if (vx == 1) {           cout << n <<     << m << endl;         } else {           cout <<  0   << m << endl;         }       } else {         cout << -1 << endl;       }       return 0;     }     long long int T = crt(n - vx * sx, n, m - vy * sy, m);     if (T == -1) {       cout << -1 << endl;       return 0;     }     long long int X = sx + T * vx;     long long int Y = sy + T * vy;     X = (X < 0 ? -X : X);     Y = (Y < 0 ? -Y : Y);     cout << ((X / n) & 1) * n <<     << ((Y / m) & 1) * m << endl;   }   