#include <bits/stdc++.h>
const long long N = 1e10 + 6;
long long n, k, a, b, nk;
long long mmax = 0, mmin = N;
inline long long gcd(long long a, long long b) {
  return b == 0 ? a : gcd(b, a % b);
}
inline void work(long long l) {
  if (l <= 0) return;
  long long g = gcd(l, nk);
  long long ans = nk / g;
  if (ans > mmax) mmax = ans;
  if (ans < mmin) mmin = ans;
}
int main() {
  scanf("%lld%lld%lld%lld", &n, &k, &a, &b);
  long long f1 = a + b, f2 = b - a;
  nk = n * k;
  if (a == b) mmin = 1;
  for (int i = 0; i <= n; i++) {
    long long tmp = k * i;
    work(tmp + f2);
    work(tmp - f2);
    work(tmp + f1);
    work(tmp - f1);
  }
  printf("%lld %lld\n", mmin, mmax);
  return 0;
}
