2 1
1 1
 4 1
2 2 1 1
 10 1
2 6 3 4 2 4 4 3 2 1
 2 1
999152 999153
 8 1000000
1 1 5 1000000 1000000 2 2 2
 9 2
1 6 1 5 5 8 6 8 7
 15 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 4
8
 10 1
6 3 1 3 6 4 1 3 6 4
 10 1
1 2 3 5 6 8 10 11 9 4
 7 2
1 5 5 8 9 8 8
 2 1000000
1 1000000
 8 2
3 13 9 8 3 13 9 14
 1 1
1
 2 1
1 2

2
 2
 4
 1
 2
 4
 15
 1
 7
 2
 4
 1
 5
 1
 1



import java.io.BufferedReader;
import java.io.InputStreamReader;



public class binarysearch {
public static void merge(int b,int mid,int e,int[] arr) {
		
		int temparr1[],temparr2[] ;
		int i,j ,k;
		temparr1 = new int[mid-b+1] ;
		temparr2 = new int[e-mid] ;
		for(i=0;i<(mid-b+1);i++) {
			temparr1[i] = arr[b+i] ;
		}
		for(i=0;i<(e-mid);i++) {
			temparr2[i] = arr[mid+1+i] ;
		}
		
		i = j = k = 0 ;
		while(i< (mid-b+1) && j < (e-mid)) {
			if(temparr1[i] < temparr2[j]) {
				arr[b+k] = temparr1[i] ;
				i++ ;
			}
			else {
				arr[b+k] = temparr2[j] ;
				j++ ;
			}
			k++ ;
		}
		
		
		while(j<(e-mid)) {
			arr[b+k] = temparr2[j] ;
			j++ ;
			k++ ;
		}
		
		while(i<(mid-b+1)) {
			arr[b+k] = temparr1[i] ;
			i++ ;
			k++ ;
		}
		
		
	}
	public static void sort(int[] arr,int... l) {
		int b,e ;
		if(l.length == 0) {
			b = 0 ;
			e = arr.length - 1 ;
		}
		else {
			b = l[0] ;
			e = l[1] ;
		}
		if(b == e) {
			return ;
		}
		int mid = (b+e) / 2 ;
		sort(arr,b,mid);
		sort(arr,mid+1,e);
		merge(b,mid,e,arr);
	}
	
    public static void main(String[] args) throws Exception {
        BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
        int n,k ;
        String[] inp = sc.readLine().split(" ") ;
        n = Integer.valueOf(inp[0]);
        k = Integer.valueOf(inp[1]);
        int arr[] = new int[n];
        inp = sc.readLine().split(" ") ;
        for(int i=0;i<n;i++) {
            arr[i] = Integer.valueOf(inp[i]) ;
        }
        sort(arr);
        int same = 0 ;
        int del = 0 ;
        for(int i=1;i<n;i++) {
            if(arr[i-1] == arr[i]) {
                same += 1 ;
            }
            else if (arr[i] - arr[i-1] <=k  ) {
                del += (same+1) ;
                same = 0 ;
            }
            else {
                same= 0 ;
            }
        }
        System.out.println(n-del);
    }
}