#include <bits/stdc++.h>
using namespace std;
long long n, a, d, m, ans, st, now, tmp2, nd, tmp;
int main() {
  scanf("%I64d%I64d%I64d%I64d", &n, &m, &a, &d);
  tmp2 = d / a + 1LL;
  for (register int i = 1; i <= m; i++) {
    scanf("%I64d", &tmp);
    if (now < n) {
      st = min(n, (tmp - 1) / a);
      if (st > now) {
        ans += (st - now - 1) / tmp2 + 1;
        now += ((st - now - 1) / tmp2 + 1) * tmp2;
        nd = min(n, now - tmp2 + 1) * a + d;
        now = min(n, now);
      }
    }
    if (nd < tmp) {
      nd = tmp + d;
      now = min(n, nd / a);
      ans++;
    }
  }
  if (now < n) ans += (n - now - 1) / tmp2 + 1;
  printf("%I64d\n", ans);
  return 0;
}
