#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) {
  if (a < 0 || b < 0) return gcd(abs(a), abs(b));
  if (a < b) return gcd(b, a);
  if (b == 0) return a;
  return gcd(b, a % b);
}
long long getmin(long long n, long long k, long long d) {
  long long record = n * k;
  for (int i = 0; i < n; ++i) {
    long long val = n * k / gcd(n * k, d);
    if (val < record) record = val;
    d += k;
  }
  return record;
}
long long getmax(long long n, long long k, long long d) {
  long long record = 1;
  for (int i = 0; i < n; ++i) {
    long long val = n * k / gcd(n * k, d);
    if (val > record) record = val;
    d += k;
  }
  return record;
}
int main() {
  long long n, k;
  cin >> n >> k;
  long long a, b;
  cin >> a >> b;
  cout << min(getmin(n, k, a - b), getmin(n, k, a + b)) << " "
       << max(getmax(n, k, a - b), getmax(n, k, a + b));
  return 0;
}
