#include <bits/stdc++.h>
using namespace std;
long long a, b, x, y;
long long GCD(long long A, long long B) {
  if (B == 0)
    return A;
  else
    return GCD(B, A % B);
}
long long binarySearch(long long l, long long r) {
  if (l == r) return l;
  long long mid = l + (r - l) / 2;
  if (mid * x > a || mid * y > b) return binarySearch(l, mid - 1);
  if ((mid + 1) * x <= a && (mid + 1) * y <= b) return binarySearch(mid + 1, r);
  if (mid * x <= a && mid * y <= b) return mid;
  return -1;
}
int main() {
  cin >> a >> b >> x >> y;
  long long t = GCD(x, y);
  x = x / t;
  y = y / t;
  long long temp = b / y;
  if (a < x || b < y) {
    cout << "0 0";
    return 0;
  }
  temp = binarySearch(0, temp);
  cout << temp * x << " " << temp * y << endl;
}
