#include <bits/stdc++.h>   using namespace std;   int main() {     long long n, k;     int m;     cin >> n >> m >> k;     set<long long> removal;     for (int i = 0; i < m; i++) {       long long x;       cin >> x;       removal.insert(x);     }     long long total = 0;     long long offset = 0;     set<long long>::iterator itr = removal.begin();     while (itr != removal.end()) {       auto num = *itr;       auto cur_offset = offset;       auto a = num - offset;       auto r = a % k, d = a / k;       long long K = 0;       if (r == 0) {         K = a;       } else {         K = k * (d + 1);       }       total++;       do {         offset++;         itr++;       } while (itr != removal.end() && *itr - cur_offset <= K);     }     cout << total << endl;     ;   }   