import java.util.Arrays;
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n=in.nextInt(), k=in.nextInt();
int []arr = new int[n];
for(int i=0;i<n;++i){
arr[i] = in.nextInt();
}
Arrays.sort(arr);//升序排序
int l=0,r=0;
int ans = 0;
while(r<n){
int temp = arr[r] - arr[l];
while(temp>k && l<r){
l+=1;
temp = arr[r] - arr[l];
}
// 或者可以选择这样,与上面那个while作用一样。但是使用continue后总耗时会额外多一点。
// if(temp>k){
// l+=1;
// continue;
// }
ans = Math.max(ans, r-l+1);
r += 1;
}
System.out.println(ans);
}
}