N, D = map(int, input().split()) A = [int(input()) for _ in range(N)] As = sorted([(a, i) for i, a in enumerate(A)], reverse=True) d = {} j = 0 ans = [0] * N for a, i in As: if j >= N: break while As[j][0] > a - D: j += 1 if j >= N: break ans[i] = N - j print(*ans, sep='\n')