import java.util.Scanner;
import java.util.Arrays;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
final int N = 1000005;
int n, p;
n = in.nextInt();
p = in.nextInt();
int[] a = new int[N];
int maxn = 0;
for(int i=1;i<=n;i++) {
a[i] = in.nextInt();
maxn = Math.max(maxn, a[i]);
}
Arrays.sort(a, 1, n+1);
int l = 1, r = n;
for(;l <= r;){
int mid = (l+r) >> 1;
boolean flag = false;
for(int i=1;i+mid-1<=n;i++){
if(a[i+mid-1] - a[i] <= 2*p){
flag = true;
}
}
if(flag == false) r = mid-1;
else l = mid+1;
}
System.out.println(r);
}
}