#include<bits/stdc++.h>
int a[10001],f[10001],b[10001],ans=0,m,n;
using namespace std;
bool mx(int x){
for(int i=1;i<=m;i++){
if(f[a[i]+i]==1 || f[a[i]-i]==1) return true;
}
return false;
}
int main() {
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a,a+n+1);
b[a[1]]=b[a[n]]=1;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
f[a[i]+j]+=1;
f[a[i]-j]+=1;
}
}
for(int i=a[1];i<=a[n];i++){
if(b[i]==0 && !mx(a[i])){
ans+=1;
b[i]=1;
for(int j=1;j<=m;j++){
f[a[i]+j]+=1;
f[a[i]-j]+=1;
}
}
}
cout<<ans;
return 0;
}
纯模拟!!!