#include <iostream>
#include <algorithm>
using namespace std;

int main() {
	int N, C, K; cin >> N >> C >> K;
	int T[100010];
	for(int i=0; i<N; ++i) cin >> T[i];
	sort(T, T+N);
	int min=1, dep=T[0]+K, num=1;
	for(int i=1; i<N; ++i){
	    if(num==C || T[i]>dep){
	        ++min;
	        dep=T[i]+K;
	        num=1;
	    }else ++num;
	}
	cout << min << endl;
	return 0;
}