#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 jumps(long long a, long long b) { return 1LL * a / gcd(a, b); }
long long dist(long long st, long long en, long long D) {
  if (st < 0) st += D;
  if (st >= D) st -= D;
  if (en < 0) en += D;
  if (en >= D) en -= D;
  if (en < st) en += D;
  return en - st;
}
int main() {
  long long N, K;
  cin >> N >> K;
  int A, B;
  cin >> A >> B;
  vector<int> TMS(N);
  long long mn = N * K, mx = 0;
  for (long long i = 0; i < N; ++i) {
    long long st = -A;
    {
      long long en = i * K - B;
      long long ju = jumps(N * K, dist(st, en, N * K));
      mn = min(mn, ju);
      mx = max(mx, ju);
    }
    {
      long long en = i * K + B;
      long long ju = jumps(N * K, dist(st, en, N * K));
      mn = min(mn, ju);
      mx = max(mx, ju);
    }
    st = +A;
    {
      long long en = i * K - B;
      long long ju = jumps(N * K, dist(st, en, N * K));
      mn = min(mn, ju);
      mx = max(mx, ju);
    }
    {
      long long en = i * K + B;
      long long ju = jumps(N * K, dist(st, en, N * K));
      mn = min(mn, ju);
      mx = max(mx, ju);
    }
  }
  cout << mn << " " << mx << endl;
  return 0;
}
