#include <bits/stdc++.h>
using namespace std;
const long long MAX_N = 1e6 + 6;
const long long INF = 1e9 + 7;
long long extgcd(long long a, long long b, long long &x, long long &y) {
  long long d = a;
  if (b != 0) {
    d = extgcd(b, a % b, y, x);
    y -= (a / b) * x;
  } else
    x = 1, y = 0;
  return d;
}
long long cnt[MAX_N];
int main() {
  long long n, m, dx, dy;
  while (scanf("%I64d %I64d %I64d %I64d", &n, &m, &dx, &dy) != EOF) {
    memset(cnt, 0, sizeof(cnt));
    long long a, b;
    extgcd(dy, n, a, b);
    long long _dy = (a + INF * n) % n;
    for (int i = 0; m > i; i++) {
      long long x, y;
      scanf("%I64d %I64d", &x, &y);
      long long t = _dy * y;
      cnt[((x - dx * t + n * INF) % n + n) % n]++;
    }
    long long mx = -1, mx_id = -1;
    for (int i = 0; n > i; i++) {
      if (cnt[i] > mx) {
        mx = cnt[i];
        mx_id = i;
      }
    }
    printf("%I64d 0\n", mx_id);
  }
}
