#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#define int long long

using namespace std;

int a[123456];
int vis[123456];

signed main()
{
    int flag=0;
    int n,c,k;
    scanf("%lld %lld %lld",&n,&c,&k);
    for(int i=0; i<n; i++)
    {
        scanf("%lld",&a[i]);
    }
    sort(a,a+n);
    int sum=0;
    for(int i=0; i<n; i++)
    {
        int f=a[i]+k;
        int h=0;
        while(i<n)
        {
            if(a[i]<=f)
            {
                vis[i]=1;
                h++;
            }
            if(h==c)
            {
                if(i==n-1)
                    flag=1;
                sum++;
                break;
            }
            if(a[i] > f)
            {
                i--;
                sum++;
                break;
            }
            i++;
        }
    }
    if(flag==0) sum++;
    cout<<sum<<endl;
    return 0;
}
