#include <bits/stdc++.h>
using namespace std;
inline long long read() {
  char ch = 0;
  long long x = 0, flag = 1;
  while (!isdigit(ch)) {
    ch = getchar();
    if (ch == '-') flag = -1;
  }
  while (isdigit(ch)) {
    x = (x << 3) + (x << 1) + ch - '0';
    ch = getchar();
  }
  return x * flag;
}
long long n, k, a, b;
long long f(long long x) { return (x % k + k) % k; }
long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }
int main() {
  long long ans1 = +1e18 + 7, ans2 = -1e18 + 7;
  n = read();
  k = read();
  a = read();
  b = read();
  for (long long l = 1; l <= k; l++) {
    bool flag = false;
    if (f(a + b) == f(+l)) flag = true;
    if (f(a - b) == f(+l)) flag = true;
    if (f(a + b) == f(-l)) flag = true;
    if (f(a - b) == f(-l)) flag = true;
    if (flag) {
      for (long long i = 0; i < n; i++) {
        long long t = n * k / gcd(n * k, l + i * k);
        ans1 = min(ans1, t);
        ans2 = max(ans2, t);
      }
    }
  }
  printf("%lld %lld", ans1, ans2);
  return 0;
}
