#include <bits/stdc++.h>
using namespace std;
long long n, k;
long long a, b;
const long long inf = 0x3f3f3f3f3f3f3f3f;
long long minn = inf, maxx = -inf;
long long gcd(long long x, long long y) { return y == 0 ? x : gcd(y, x % y); }
void update(long long l) {
  if (l <= 0) return;
  minn = min(minn, gcd(l, n * k));
  maxx = max(maxx, gcd(l, n * k));
}
long long l;
int main() {
  scanf("%lld%lld", &n, &k);
  scanf("%lld%lld", &a, &b);
  update(b - a);
  update(k - b - a);
  for (long long i = 0; i * k + a - b <= n * k; i++) {
    update(i * k + a - b);
  }
  for (long long i = 0; i * k + a + b <= n * k; i++) {
    update(i * k + a + b);
  }
  printf("%lld %lld\n", n * k / maxx, n * k / minn);
  return 0;
}
