#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) { return b == 0 ? a : gcd(b, a % b); }
long long maxans, minans;
long long lcm(long long a, long long b) { return b / gcd(a, b); }
int main() {
  long long n, k, a, b;
  scanf("%lld %lld %lld %lld", &n, &k, &a, &b);
  long long N = n * k, temp, result;
  maxans = -1;
  minans = 1000000000000ll;
  if (a == 0 && b == 0) {
    printf("%d %d\n", 1, n);
    return 0;
  }
  long long a1 = (a + b) % k, a2 = (a - b + k) % k, a3 = (-a + b + k) % k,
            a4 = (-a - b + k) % k;
  if (a2 == 0) a2 = k;
  if (a3 == 0) a3 = k;
  for (long long i = 0; i <= n; i++) {
    temp = a1 + i * k;
    result = lcm(temp, N);
    maxans = max(maxans, result);
    minans = min(minans, result);
    temp = a2 + i * k;
    result = lcm(temp, N);
    maxans = max(maxans, result);
    minans = min(minans, result);
    temp = a3 + i * k;
    result = lcm(temp, N);
    maxans = max(maxans, result);
    minans = min(minans, result);
    temp = a4 + i * k;
    result = lcm(temp, N);
    maxans = max(maxans, result);
    minans = min(minans, result);
  }
  printf("%lld %lld", minans, maxans);
}
