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

from collections import defaultdict
n,k=list(map(int,input().split(' ')))
a=list(map(int,input().split(' ')))

def bact(a,n,k):
    b=sorted(a)
    d=defaultdict(int)
    count=0
    for i in range(n-1):
        if b[i+1]>b[i] and b[i+1]-b[i] <= k:
            d[b[i]]=1
    for i in range(n):
        if d[b[i]]==1:
            count+=1
    # print(d)
    return(n-count)
    # fl=defaultdict(int)
    # for i in range(n):
    #     if fl[a[i]]==1:
    #         count+=1
    #         break
    #     for j in range(n):
    #         if a[j]>a[i] and a[j]<=a[i]+k:
    #             fl[a[i]]=1
    #             count+=1
    #             break
    # return(n-count)

# n=200000
# a=[]
# for i in range(n):
#     a.append(1)
# k=1000000
print(bact(a,n,k))
