#include <bits/stdc++.h>
using namespace std;
const long long LINF = 1LL << 62;
long long ls[4];
template <typename T>
T gcd(T m, T n) {
  if (m < n) swap(m, n);
  while (n > 0) {
    T r = m % n;
    m = n;
    n = r;
  }
  return m;
}
long long stops(long long nk, long long l) { return nk / gcd(nk, l); }
int main() {
  int n, k, a, b;
  scanf("%d%d%d%d", &n, &k, &a, &b);
  long long nk = (long long)n * k;
  ls[0] = (a + b) % k;
  ls[1] = (a + (k - b)) % k;
  ls[2] = ((k - a) + b) % k;
  ls[3] = ((k - a) + (k - b)) % k;
  long long mint = LINF, maxt = 0;
  for (int c = 0; c < n; c++)
    for (int i = 0; i < 4; i++) {
      long long t = stops(nk, (long long)k * c + ls[i]);
      mint = min(mint, t), maxt = max(maxt, t);
    }
  printf("%lld %lld\n", mint, maxt);
  return 0;
}
