#include <bits/stdc++.h>
using namespace std;
long long extGCD(long long a, long long b, long long &x, long long &y) {
if (b == 0) {
x = 1;
y = 0;
return a;
}
long long x1, y1;
long long g = extGCD(b, a % b, x1, y1);
x = y1;
y = x1 - (a / b) * y1;
return g;
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
long long a1, b1, a2, b2;
cin >> a1 >> b1 >> a2 >> b2;
if (a1 == 0 && a2 == 0) {
cout << "0 0";
return 0;
}
if (a1 == 0) {
cout << "0 " << (b1 - b2) / a2;
return 0;
}
if (a2 == 0) {
cout << (b2 - b1) / a1 << " 0";
return 0;
}
long long x0, y0;
long long g = extGCD(a1, a2, x0, y0);
long long diff = b2 - b1;
long long x = x0 * (diff / g);
long long step1 = a2 / g;
long long step2 = a1 / g;
x =(x %step1 + step1) % step1;
long long x2 = (a1 * x + b1 - b2) / a2;
if (x2 < 0) {
long long k = (-x2 + step2 - 1) / step2;
x += k * step1;
x2 += k * step2;
}
cout << x <<" "<< x2;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpsb25nIGxvbmcgZXh0R0NEKGxvbmcgbG9uZyBhLCBsb25nIGxvbmcgYiwgbG9uZyBsb25nICZ4LCBsb25nIGxvbmcgJnkpIHsKICAgIGlmIChiID09IDApIHsKICAgICAgICB4ID0gMTsKICAgICAgICB5ID0gMDsKICAgICAgICByZXR1cm4gYTsKICAgIH0KICAgIGxvbmcgbG9uZyB4MSwgeTE7CiAgICBsb25nIGxvbmcgZyA9IGV4dEdDRChiLCBhICUgYiwgeDEsIHkxKTsKICAgIHggPSB5MTsKICAgIHkgPSB4MSAtIChhIC8gYikgKiB5MTsKICAgIHJldHVybiBnOwp9CgppbnQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOwoKICAgIGxvbmcgbG9uZyBhMSwgYjEsIGEyLCBiMjsKICAgIGNpbiA+PiBhMSA+PiBiMSA+PiBhMiA+PiBiMjsKCiAgICBpZiAoYTEgPT0gMCAmJiBhMiA9PSAwKSB7CiAgICAgICAgY291dCA8PCAiMCAwIjsKICAgICAgICByZXR1cm4gMDsKICAgIH0KCiAgICBpZiAoYTEgPT0gMCkgewogICAgICAgIGNvdXQgPDwgIjAgIiA8PCAoYjEgLSBiMikgLyBhMjsKICAgICAgICByZXR1cm4gMDsKICAgIH0KCiAgICBpZiAoYTIgPT0gMCkgewogICAgICAgIGNvdXQgPDwgKGIyIC0gYjEpIC8gYTEgPDwgIiAwIjsKICAgICAgICByZXR1cm4gMDsKICAgIH0KCiAgICBsb25nIGxvbmcgeDAsIHkwOwogICAgbG9uZyBsb25nIGcgPSBleHRHQ0QoYTEsIGEyLCB4MCwgeTApOwogICAgbG9uZyBsb25nIGRpZmYgPSBiMiAtIGIxOwogICAgbG9uZyBsb25nIHggPSB4MCAqIChkaWZmIC8gZyk7CiAgICBsb25nIGxvbmcgc3RlcDEgPSBhMiAvIGc7CiAgICBsb25nIGxvbmcgc3RlcDIgPSBhMSAvIGc7CgogICAgeCA9KHggJXN0ZXAxICsgc3RlcDEpICUgc3RlcDE7CiAgICBsb25nIGxvbmcgeDIgPSAoYTEgKiB4ICsgYjEgLSBiMikgLyBhMjsKCiAgICBpZiAoeDIgPCAwKSB7CiAgICAgICAgbG9uZyBsb25nIGsgPSAoLXgyICsgc3RlcDIgLSAxKSAvIHN0ZXAyOwogICAgICAgIHggKz0gayAqIHN0ZXAxOwogICAgICAgIHgyICs9IGsgKiBzdGVwMjsKICAgIH0KCiAgICBjb3V0IDw8IHggPDwiICI8PCB4MjsKCiAgICByZXR1cm4gMDsKfQo=