#include <bits/stdc++.h>
using namespace std;
long long n, k;
long long a, b;
set<long long> s;
long long maxx, minn = 10000000000ll;
long long nod(long long a, long long b) {
  if (a < b) swap(a, b);
  while (b != 0) {
    a %= b;
    swap(a, b);
  }
  return a;
}
const double eps = 1e-6;
long double nok(long long a, long long b) {
  long double nd = nod(a, b);
  long double ans = (long double)a * b / nd + eps;
  return ans;
}
int main() {
  cin >> n >> k;
  cin >> a >> b;
  long long start = a + 1;
  for (int i = 0; i < n; i++) {
    long long curr = i * 1ll * k + 1;
    long long x = curr + b;
    if (x > n * k) {
      x %= (n * k);
    }
    s.insert(x);
    x = (curr - b) % (n * k);
    if (x <= 0) x += n * k;
    s.insert(x);
  }
  for (long long curr : s) {
    long long dist = curr - start;
    if (dist < 0) dist = -dist;
    if (dist == 0) dist = n * k;
    long long bigdist = nod(dist, n * k);
    long long currans = n * k / bigdist;
    maxx = max(maxx, currans);
    minn = min(minn, currans);
  }
  cout << minn << " " << maxx << endl;
  return 0;
}
