#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int n, a, d;
  int m;
  cin >> n >> m >> a >> d;
  long long int t, T = 0, fa, la, Ans = 0;
  for (int i = 1; i <= m; i++) {
    cin >> t;
    fa = min(T / a + 1, n + 1);
    if (fa != n + 1) {
      la = min(n, t / a);
      if (la >= fa) {
        long long int tmp = (la - fa) / (d / a + 1) + 1;
        long long int Lst = (la - fa) / (d / a + 1);
        Ans += tmp;
        T = (Lst * (d / a + 1) + fa) * a + d;
      }
    }
    if (T < t) T = t + d, Ans++;
  }
  la = n;
  fa = min(T / a + 1, n + 1);
  if (la >= fa) {
    long long int tmp = (la - fa) / (d / a + 1) + 1;
    long long int Lst = (la - fa) / (d / a + 1);
    Ans += tmp;
    T = (Lst * (d / a + 1) + fa) * a + d;
  }
  cout << Ans << endl;
  return 0;
}
