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

# -*- coding: utf-8 -*-
"""
@Project : 牛客网
@File    : 2.py 
@Time    : 2018/6/10 18:23
@Author  : Koushiro

"""

if __name__ == "__main__":
    n, K = map(int, input().split())
    bac = list(map(int, input().split()))
    bac.sort()
    diff = [0 for i in range(n - 1)]
    count = 0
    future = 0
    for i in range(n - 1):
        if count == 0 and bac[i + 1] - bac[i] != 0:
            diff[i] = bac[i + 1] - bac[i]
        elif count > 0:
            diff[i] = future
            count -= 1
        else:
            j = i
            tmp = bac[j]
            # 操作有关数组下标的地方要尤其注意会不会导致下标越界，最好不要随意操作下标
            while bac[j] == tmp and j < n - 1:
                j += 1
            future = bac[j] - bac[i]
            diff[i] = future
            count = j - i - 1
    result = 1
    for i in range(n - 1):
        if diff[i] > K or diff[i] == 0:
            result += 1
    print(result)
