#include <bits/stdc++.h>
using namespace std;
template <typename T>
inline T gcd(T a, T b) {
  return (b ? gcd(b, a % b) : a);
}
template <typename T>
T lcm(T a, T b) {
  return (a * (b / gcd(a, b)));
}
template <typename T>
T mod(T a, T b) {
  return (a < b ? a : a % b);
}
template <typename T>
T mod_neg(T a, T b) {
  a = mod(a, b);
  if (a < 0) {
    a += b;
  }
  return a;
}
template <typename T>
T power(T e, T n) {
  T x = 1, p = e;
  while (n) {
    if (n & 1) x = x * p;
    p = p * p;
    n >>= 1;
  }
  return x;
}
template <typename T>
T power(T e, T n, T m) {
  T x = 1 % m, p = e % m;
  while (n) {
    if (n & 1) x = mod(x * p, m);
    p = mod(p * p, m);
    n >>= 1;
  }
  return x;
}
template <typename T>
T extended_euclid(T a, T b, T& x, T& y) {
  T xx = 0, yy = 1;
  y = 0;
  x = 1;
  while (b) {
    T q = a / b, t = b;
    b = a % b;
    a = t;
    t = xx;
    xx = x - q * xx;
    x = t;
    t = yy;
    yy = y - q * yy;
    y = t;
  }
  return a;
}
template <typename T>
T mod_inverse(T a, T n) {
  T x, y;
  T d = extended_euclid(a, n, x, y);
  return (d > 1 ? -1 : mod_neg(x, n));
}
template <typename Arg1>
void __f(const char* name, Arg1&& arg1) {
  cout << name << " : " << arg1 << "\n";
}
template <typename Arg1, typename... Args>
void __f(const char* names, Arg1&& arg1, Args&&... args) {
  const char* comma = strchr(names + 1, ',');
  cout.write(names, comma - names) << " : " << arg1 << " , ";
  __f(comma + 1, args...);
}
int main() {
  ios::sync_with_stdio(0);
  long long i, j, k, n, t, x, y;
  cin >> n >> k >> x >> y;
  long long mn = 1e17;
  long long mx = -1;
  for (i = 0; i < n; ++i) {
    long long d1 = x - y + i * k;
    long long d2 = x - (k - y) + i * k;
    long long d3 = -x - y + i * k;
    long long d4 = -x - (k - y) + i * k;
    if (d1 < 0) d1 *= -1;
    if (d2 < 0) d2 *= -1;
    if (d3 < 0) d3 *= -1;
    if (d4 < 0) d4 *= -1;
    mn = min(mn, n * k / (gcd(n * k, d1)));
    mn = min(mn, n * k / (gcd(n * k, d2)));
    mn = min(mn, n * k / (gcd(n * k, d3)));
    mn = min(mn, n * k / (gcd(n * k, d4)));
    mx = max(mx, n * k / (gcd(n * k, d1)));
    mx = max(mx, n * k / (gcd(n * k, d2)));
    mx = max(mx, n * k / (gcd(n * k, d3)));
    mx = max(mx, n * k / (gcd(n * k, d4)));
  }
  cout << mn << " " << mx << "\n";
  return 0;
}
