#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,k,a[50001],x[50001],y[50001];
int ef(int x,int n)
{
return lower_bound(a+1,a+1+n, x) - a;
}
int ef2(int x,int w)
{
return upper_bound(a+1, a+1+n, x) - a - 1;
}
signed main()
{
int mx=-114514;
cin>>n>>k;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+1+n);
for(int i=1;i<=n;i++)
{
x[i]=ef(a[i]-k,i);
y[i]=ef2(a[i]+k,i);
}
for(int i=1;i<=n;i++)
{
mx = max(mx, i - x[i] + 1 + y[i+1] - (i+1) +1);
}
cout<<mx;
}