#include<bits/stdc++.h>

using namespace std;
typedef long long ll;
int cmp(const void *a, const void *b)
{
	return *(ll*)a-*(ll*)b;
}
int main()
{
	ll N,C,K,T[100005];
	ll p_num,i,j,bus_num;
	scanf("%d%d%d",&N,&C,&K);
	for (i=0;i<N;i++) {
		cin>>T[i];
	}
	qsort(T,N,sizeof(T[0]),cmp);
	j=T[0];p_num=0;bus_num=1;
	for (i=0;i<N;i++) {
		if (T[i]<=j+K)	p_num++;
		else	{
			bus_num++;j=T[i+1];p_num=1;
		}
		if (p_num>=C)	{
			p_num=0;
			bus_num++;
			j=T[i+1];
		}
//		cout<<T[i]<<' '<<p_num<<' '<<bus_num<<endl;
	}
	cout<<bus_num<<endl;
	return 0;
 } 