#include <cstdio>
#include <algorithm>
using namespace std;
#define REP(i,n) for(int i=0; i<(int)(n); i++)
#define FOR(i,b,e) for(int i=(b); i<=(int)(e); i++)
const int N_MAX = 100000;
int N, C, K;
int T[N_MAX];
void solve() {
sort(T, T + N);
int ans = 0;
for(int i = 0; i < N;) {
int s = T[i];
int n = 0;
while (i < N && T[i] <= s + K && n < C) {
i++; n++;
}
ans++;
}
printf("%d\n", ans);
}
void input() {
scanf("%d%d%d", &N, &C, &K);
REP(i, N) scanf("%d", T + i);
}
int main() {
input();
solve();
return 0;
}