#include<bits/stdc++.h>
using namespace std;
#define int long long
const int maxn=1e7+5;
int a[maxn],n,k;
int l[maxn],r[maxn];
signed main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+1+n);
if(n==1){
cout<<1;
return 0;
}
int cnt=0;
for(int i=1,j=1;i<=n;i++){
while(j<=i&&a[i]-a[j]>k){
j++;
}
l[i]=i-j+1;
if(i>1){
l[i]=max(l[i],l[i-1]);
}
}
for(int i=n,j=n;i>=1;i--){
while(j>=i&&a[j]-a[i]>k){
j--;
}
r[i]=j-i+1;
if(i<n){
r[i]=max(r[i],r[i+1]);
}
}
for(int i=1;i<=n;i++){
cnt=max(cnt,r[i]+l[i+1]);
}
if(a[n]-a[1]<=k){
cnt=max(cnt,n);
}
cout<<cnt;
return 0;
}