func_code_string: #include <bits/stdc++.h>   using namespace std;   const int N = 100005;   long long n, m, a, d;   long long t[N];   int main() {     cin >> n >> m >> a >> d;     for (int j = 1; j <= m; j++) {       scanf( %lld , &t[j]);     }     t[m + 1] = 8e18;     long long i = 1, ans = 0, last = -1;     for (int j = 1; j <= m + 1; j++) {       if (i > n) {         if (j <= m && last < t[j]) {           ans++;           last = t[j] + d;         }         continue;       }       if (t[j] > last) {         if (t[j] <= i * a) {           ans++;           last = t[j] + d;           i = last / a + 1;           continue;         }         long long u = d / a + 1;         long long togo = min(n, t[j] / a);         long long dis = ((togo - i) / u);         ans += dis + 1;         i += dis * u;         last = i * a + d;         if (j <= m && last < t[j]) {           ans++;           last = t[j] + d;         }         i = last / a + 1;       }     }     cout << ans << endl;     return 0;   }   