#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define FAST1 ios_base::sync_with_stdio(false);
#define FAST2 cin.tie(NULL);
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define FAST1 ios_base::sync_with_stdio(false);
#define FAST2 cin.tie(NULL);
void solve(){
ll n,k,s;
cin>>n>>k>>s;
ll arr[n];
for(ll i=0;i<n;i++)
cin>>arr[i];
sort(arr,arr+n);
vector<ll> v;
for(ll i=1;i<n;i++){
if(arr[i]-arr[i-1]>s){
v.push_back((arr[i]-arr[i-1]-1)/s);
}
}
sort(v.begin(),v.end());
reverse(v.begin(),v.end());
while(v.size()){
if(v[v.size()-1]<=k){
k-=v[v.size()-1];
v.pop_back();
}
else
break;
}
cout<<v.size()+1<<endl;
}
int main(){
FAST1;
FAST2;
ll t=1;
//cin>>t;
while(t--){
solve();
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBGQVNUMSBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKI2RlZmluZSBGQVNUMiBjaW4udGllKE5VTEwpOwojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIEZBU1QxIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwojZGVmaW5lIEZBU1QyIGNpbi50aWUoTlVMTCk7CgoKdm9pZCBzb2x2ZSgpewogICAgbGwgbixrLHM7CiAgICBjaW4+Pm4+Pms+PnM7CiAgICBsbCBhcnJbbl07CiAgICBmb3IobGwgaT0wO2k8bjtpKyspCiAgICAgICAgY2luPj5hcnJbaV07CiAgICBzb3J0KGFycixhcnIrbik7CiAgICB2ZWN0b3I8bGw+IHY7CiAgICBmb3IobGwgaT0xO2k8bjtpKyspewogICAgICAgIGlmKGFycltpXS1hcnJbaS0xXT5zKXsKICAgICAgICAgICAgdi5wdXNoX2JhY2soKGFycltpXS1hcnJbaS0xXS0xKS9zKTsKICAgICAgICB9CiAgICB9CiAgICBzb3J0KHYuYmVnaW4oKSx2LmVuZCgpKTsKICAgIHJldmVyc2Uodi5iZWdpbigpLHYuZW5kKCkpOwogICAgd2hpbGUodi5zaXplKCkpewogICAgICAgIGlmKHZbdi5zaXplKCktMV08PWspewogICAgICAgICAgICBrLT12W3Yuc2l6ZSgpLTFdOwogICAgICAgICAgICB2LnBvcF9iYWNrKCk7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICAgICAgYnJlYWs7CiAgICB9CiAgICBjb3V0PDx2LnNpemUoKSsxPDxlbmRsOwp9CgppbnQgbWFpbigpewogICAgRkFTVDE7CiAgICBGQVNUMjsKICAgIGxsIHQ9MTsKICAgIC8vY2luPj50OwogICAgd2hpbGUodC0tKXsKICAgICAgICBzb2x2ZSgpOwogICAgfQp9Cg==