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.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.StringTokenizer;

public class Main {

	public Main() {
		MyScanner sc = new MyScanner(false);

		int n = sc.nextInt();
		int K = sc.nextInt();

		ArrayList<Integer> numbs = new ArrayList<>();
		for (int i = 0; i < n; i++) {
			numbs.add(sc.nextInt());
		}

		Collections.sort(numbs, new Comparator<Integer>() {

			@Override
			public int compare(Integer fir, Integer sec) {
				if (fir > sec)
					return 1;
				else if (fir == sec)
					return 0;
				else
					return -1;
			}
		});
//		for (int i = 0; i < numbs.size(); i++) {
//			System.out.print(numbs.get(i) + " ");
//		}
//		System.out.println();
		
		
		for (int i = 0; i < numbs.size()-1; i++) {
			int ai = numbs.get(i);
			for (int j = i + 1; j < numbs.size();j++) {
				int aj = numbs.get(j);
				if (ai < aj && aj <= ai + K) {
					numbs.remove((Integer) ai);
					i--;
					break;
				}else {
					if(j-i >= K) {
						break;
					}
				}
				
			}
//			for (int j = 0; j < numbs.size(); j++) {
//				System.out.print(numbs.get(j) + " ");
//			}
//			System.out.println();
		}
		System.out.println(numbs.size());
	}

	public static void main(String[] args) {
		new Main();
	}

	public class MyScanner {

		BufferedReader bufferedReader;
		StringTokenizer stringTokenizer;

		public MyScanner(boolean file) {
			bufferedReader = new BufferedReader(new InputStreamReader(System.in));
		}

		public String next() {
			while (stringTokenizer == null || !stringTokenizer.hasMoreElements()) {
				try {
					stringTokenizer = new StringTokenizer(bufferedReader.readLine());
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			return stringTokenizer.nextToken();
		}

		public int nextInt() {
			return Integer.parseInt(next());
		}

		public long nextLong() {
			return Long.parseLong(next());
		}

		public double nextDouble() {
			return Double.parseDouble(next());
		}

		public String nextLine() {
			String str = "";
			try {
				str = bufferedReader.readLine();
			} catch (IOException e) {
				e.printStackTrace();
			}
			return str;
		}

	}

}