import sys input = sys.stdin.buffer.readline n, d = map(int, input().split()) A = [(0, 0)] * (n) for i in range(n): val = int(input()) A[i] = (val, i) A.sort(reverse=True) ans = [0] * (n) lim = 0 for i in range(n): while lim < n: if A[i][0] - A[lim][0] < d: lim += 1 else: break # print(i, A[i], lim) ans[A[i][1]] = max(n - (lim), 0) print(*ans, sep="\n")