#include <bits/stdc++.h>
#define int long long
using namespace std;
//https://codeforces.com/contest/1539/problem/C
void solve(){
	int n, k, x;
	cin>>n>>k>>x;
	vector<int> a(n);
	for(auto &x: a) cin>>x;
	sort(a.begin(), a.end());
	vector<int>  min_mem;
	for(int i=1; i<n; i++){
		if(a[i] - a[i-1]<=x);
		else {
			min_mem.emplace_back((a[i]-a[i-1]-1)/x);
		}
	}
	sort(min_mem.begin(), min_mem.end());
	int mini = 0, ans = 0;
	for(int i=0; i<min_mem.size(); i++){
		if(mini + min_mem[i] <=k) ans = i + 1;
		else break;
		mini += min_mem[i];
	}
	cout<<min_mem.size()-ans + 1;
}

int32_t main(){
	ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    #ifndef ONLINE_JUDGE
    freopen("inputf.in", "r", stdin);
    freopen("outputf.in", "w", stdout);
	#endif
    
	int t=1; /*
	cin>>t;  //*/
	while(t--) solve();
	return 0;
}