#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
const double eps = 1e-10;
const long long mod = 1e9 + 7;
const long long INF = 1e14 + 7;
;
long long read() {
  long long x = 0, f = 1;
  char ch = getchar();
  while (ch < '0' || ch > '9') {
    if (ch == '-') f = -1;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9') {
    x = x * 10 + ch - '0';
    ch = getchar();
  }
  return x * f;
}
void print(int x) {
  if (x < 0) putchar('-'), x = -x;
  if (x > 9) print(x / 10);
  putchar(x % 10 - '0');
}
long long n, k, a, b;
long long gcd(long long a, long long b) { return (b == 0) ? a : gcd(b, a % b); }
long long lcm(long long a, long long b) { return a / gcd(a, b) * b; }
int main(void) {
  scanf("%lld%lld%lld%lld", &n, &k, &a, &b);
  long long st = 1 + a, t = n * k;
  long long ans1 = INF, ans2 = 0;
  for (int i = 1; i <= n; i++) {
    long long cur = (long long)(i - 1) * k + 1;
    long long to = cur + b;
    long long l = ((to - st) % t + t) % t;
    if (l == 0) l += t;
    long long lc = lcm(t, l);
    long long x = lc / l;
    ans1 = min(ans1, x);
    ans2 = max(ans2, x);
    to = cur + k - b;
    l = ((to - st) % t + t) % t;
    if (l == 0) l += t;
    lc = lcm(t, l);
    x = lc / l;
    ans1 = min(ans1, x);
    ans2 = max(ans2, x);
  }
  printf("%lld %lld\n", ans1, ans2);
  return 0;
}
