#include <cstdio>
#include <algorithm>
int N, C, K, a[100001], O;
int main()
{
	scanf("%d%d%d", &N, &C, &K);
	for (int i = 1; i <= N; i++)
		scanf("%d", a + i);
	std::sort(a + 1, a + N + 1);
	for (int i = 1; i <= N; i = std::min(i + C, int(std::upper_bound(a + i, a + N + 1, a[i] + K) - a)))
		O++;
	printf("%d\n", O);
	return 0;
}
