#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 15;
const int MOD = 1000000007;
const long long inf = 0x3f3f3f3f3f3f3f3f;
inline long long gcd(long long a, long long b) {
  return b == 0 ? a : gcd(b, a % b);
}
int main() {
  long long n, k, a, b;
  while (~scanf("%lld%lld%lld%lld", &n, &k, &a, &b)) {
    vector<long long> vecL;
    long long arr[] = {a + b, a - b, -a + b, -a - b};
    for (auto ele : arr) {
      while (ele <= n * k) {
        if (ele > 0) {
          vecL.push_back(ele);
        }
        ele += k;
      }
    }
    sort(vecL.begin(), vecL.end());
    auto it = unique(vecL.begin(), vecL.end());
    vecL.erase(it, vecL.end());
    long long maxx = -inf, minn = inf;
    for (auto ele : vecL) {
      maxx = max(maxx, n * k / gcd(n * k, ele));
      minn = min(minn, n * k / gcd(n * k, ele));
    }
    printf("%lld %lld\n", minn, maxx);
  }
}
