// Rishi N Kataria
// DAIICT

#include <bits/stdc++.h>
using namespace std;

#include <string>
#include <vector>
#define ll long long
#define pb push_back
#define fast ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0)
typedef vector<ll> vll;

int main()
{
    fast;
    ll t;
    //cin>>t;
    t=1;
    while(t--)
    {
        ll n,k,x;
        cin>>n>>k>>x;
        
        ll a[n];
        for(ll i=0;i<n;i++)
        cin>>a[i];
        sort(a,a+n);
        vll v;
        for(ll i=0;i<n-1;i++)
        {
            if(a[i+1]-a[i]>x)
            v.pb(a[i+1]-a[i]);
        }
        
        sort(v.begin(),v.end());
        ll l=v.size();
        if(l==0)
        cout<<1;
        else
        {
            ll count=0;
            for(ll i=0;i<l;i++)
            {
                ll y=v[i]/x;
                if(x*y==v[i])
                {
                    if(k>=y-1)
                    {
                        k=k-(y-1);
                        count++;
                    }
                }
                
                else if(x*y!=v[i])
                {
                    if(k>=y)
                    {
                        k-=y;
                        count++;
                    }
                }
                
                else
                break;
            }
            
            cout<<v.size()-count+1<<endl;
        }
    }
    return 0;
}