#include<cstdio>
#include<algorithm>
#include<queue>
using namespace std;
long long int n,c,k,t[100001],ans;
queue <long long int> wtd;
int main(){
	scanf("%lld %lld %lld",&n,&c,&k);
	for(int i=0;i<n;++i)
	scanf("%lld",t+i);
	sort(t,t+n);
	wtd.push(t[0]);
	for(int i=1;i<n;++i){
		if(t[i]-wtd.front()>k){			
			while(!wtd.empty()&&t[i]-wtd.front()>k){
				++ans;
				for(long long i=0;i<c&&!wtd.empty();++i)
				wtd.pop();
			}
		}
		wtd.push(t[i]);
	}
	while(!wtd.empty()){
				++ans;
				for(long long i=0;i<c&&!wtd.empty();++i)
				wtd.pop();
			}
	printf("%lld",ans);
	return 0;
}