//singhpooja
#include <bits/stdc++.h>
using namespace std;
 typedef long long int  ll;
#define FAST ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define MOD     1000000007
#define mp      make_pair
#define pb        push_back
#define f           first
#define s          second
#define ln "\n"
#define min_heap    priority_queue<ll,vector<ll>,greater<ll>> //min top
#define max_heap     priority_queue<ll> //max top
#define vpair  vector<pair<ll,ll>> 

int main() 
{
    FAST;
	ll t;
	t=1;
//	cin>>t;
	while(t--)
	{
         ll n,m,k;
         cin>>n>>m>>k;
         ll count;
         ll a[n];
         vector<ll>b;
         for(ll i=0;i<n;i++)
         {
             cin>>a[i];
         }
         sort(a,a+n);
       // ll x=a[0];
        for(ll i=0;i<=n-2;i++)
        {
            if(a[i+1]-a[i]>k)
            {
               
                ll diff=a[i+1]-a[i]-1;
                diff/=(k);
                b.pb(diff);
                 /*if(m>0)
                {
                    x=a[i]+m;
                    i--;
                    m--;
                }
                else
                {
                    count++;
                    x=a[i];
                }*/
            }
            
        }
        ll i;
        sort(b.begin(),b.end());
       
        for( i=0;i<b.size();i++)
        {
            if(m-b[i]>=0)
            m=m-b[i];
            else
        { count=i;
            break;
        }
        }
        ll sum=1;
        sum+=b.size()-(i);
        cout<<sum<<ln;
       
	}
	
	return 0;
}
