#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int n, k, m, p, t = 0;
  cin >> n >> m >> k;
  vector<long long int> v;
  for (long long int i = 0; i < m; i++) {
    cin >> p;
    v.push_back(p);
  }
  sort(v.begin(), v.end());
  long long int c = 0, s = 0;
  while (s != m) {
    long long int y;
    if ((v[s] - t) % k == 0)
      y = (v[s] - t) / k;
    else
      y = (v[s] - t) / k + 1;
    long long int q = t;
    for (long long int i = s; i < m; i++) {
      long long int x;
      if ((v[i] - q) % k == 0)
        x = (v[i] - q) / k;
      else
        x = (v[i] - q) / k + 1;
      if (y == x) {
        s++;
        t++;
      } else {
        break;
      }
    }
    c++;
  }
  cout << c << endl;
}
