#include<bits/stdc++.h>
// #include <ext/pb_ds/assoc_container.hpp> 
// #include <ext/pb_ds/tree_policy.hpp>
// using namespace __gnu_pbds;
using namespace std;

#define F first
#define S second
#define debug(x) cout<<x<<endl
#define all(x) x.begin(),x.end()
#define allr(x) x.rbegin(),x.rend()
#define pb push_back
#define mp make_pair
#define pi acos(-1)
// __int128->GNU G++ 17 9.2.0 Codeforces (but doesnot use with cout cin And cant take direct input use normal datatype the typecast ) 
using ll = long long;
const ll M = 1000000007;
const ll M1= 998244353;
using vl = vector<ll>;
using pll =  pair<ll,ll>;
//mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());


//https://codeforces.com/blog/entry/20935
//https://www.hackerrank.com/contests/mit-open-20-finals/challenges/fractions-arent-tough-or-are-they
//
// typedef tree<int,null_type,less<int>,rb_tree_tag, tree_order_statistics_node_update> is;


// ll power(ll x,ll y){
//     if(y==0)
//         return 1;
//     ll res=power(x,y/2);
//     res=(res*res);
//     if(y&1)
//         res=(res*x);
//     return res;
// }
ll powermod(ll x,ll y,ll mod){
    if(y==0)
        return 1;
    ll res=powermod(x,y/2,mod);
    res=(res*res)%mod;
    if(y&1)
        res=(res*x)%mod;
    return res;
}


void solve(){
    ll n,k,x;
    cin>>n>>k>>x;
    ll a[n];
    for(int i=0;i<n;i++)cin>>a[i];
    sort(a,a+n);
    priority_queue<ll> p;
    for(int i=1;i<n;i++){
        if(a[i]-a[i-1]>x){
            p.push(-1* ((a[i]-a[i-1]-1)/x));
        }
    }
    while((int)p.size()!=0 && (p.top() * -1) <=k){
        k=k-(-1*p.top());
        //cout<<p.top()<<endl;
        p.pop();
    }
    //cout<<k<<endl;
    cout<<(int)p.size()+1<<endl;
}


int main(){ 
    #ifndef ONLINE_JUDGE
    // for getting input from input.txt
    freopen("input.txt", "r", stdin);
    // for writing output to output.txt
    freopen("output.txt", "w", stdout);
    #endif
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    //sieve();
    
    int test=1; 
    //cin>>test;
    for(int i=1;i<=test;i++)
    {//cout<<"Case #"<<i<<": ";
    solve();}
    return 0;
}