#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  long long n, m, a, d;
  cin >> n >> m >> a >> d;
  vector<long long> v(m);
  for (auto &i : v) cin >> i;
  sort(v.begin(), v.end());
  long long last = 0;
  long long ans = 0;
  for (long long i : v) {
    if (i <= last) continue;
    if (i <= a) {
      last = i + d, ans++;
      continue;
    }
    long long ua = min(i / a * a, n * a);
    if (ua > last) {
      long long pa = (last + a) / a * a;
      long long div = (d + a) / a;
      ans += (ua - pa) / a / div + 1;
      long long aesimo = ((ua - pa) / a + 1) % div;
      last = ua - ((aesimo - 1 + div) % div) * a + d;
    }
    if (i <= last) continue;
    ans++;
    last = i + d;
  }
  if (last < n * a) {
    long long pa = (last + a) / a * a;
    long long div = (d + a) / a;
    ans += (n * a - pa) / a / div + 1;
  }
  cout << ans << '\n';
  exit(0);
}
