#include <bits/stdc++.h>
using namespace std;
const int MAX = 3e5+9;
int arr[MAX];
int n,k,Max;
int i=1,j=1;
int main(){
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	cin>>n>>k;
	for(int t=1;t<=n;t++){
		cin>>arr[t];
	}
	sort(arr+1,arr+n+1);
	while(j<=n)
    {
		while(j<=n&&arr[j]-arr[i]<=k)
			j++;
		Max=max(Max,j-i);
		i++;
	}
	cout<<Max;
	return 0;
}

#include <bits/stdc++.h>
using namespace std;
const int N=1e6;
long long a[N];
int main()
{
    long long n,k;
    scanf("%lld %lld",&n,&k);
    for(int i=0;i<n;i++)
        scanf("%lld",&a[i]);
    sort(a,a+n);
    long long max=0;
    for(int i=0;i<n;i++)
    {
        long long t=a[i]+k;
        long long x=upper_bound(a,a+n,t)-a;
        if(x-i>max)
        {
            max=x-i;
        }
    }
    cout<<max;
    return 0;
}