#include <bits/stdc++.h>
using namespace std;
int main() {
  int t = 1;
  while (t--) {
    long long n, m, k;
    cin >> n >> m >> k;
    long long arr[m];
    long long diff[m];
    cin >> arr[0];
    diff[0] = arr[0];
    for (long long i = 1; i < m; ++i) {
      cin >> arr[i];
      diff[i] = arr[i] - arr[i - 1];
    }
    long long adder = diff[0];
    long long prev = ceil((long double)adder / k);
    long long count = 1;
    long long just = 1;
    for (long long i = 1; i < m; ++i) {
      adder += diff[i];
      if (ceil((long double)adder / k) != prev) {
        count++;
        adder -= just;
        just = 1;
        prev = ceil((long double)adder / k);
      } else {
        just++;
      }
    }
    cout << count << endl;
  }
}
