N, D = map(int, input().split()) A = [int(input()) for _ in range(N)] B = [A[i] + D for i in range(N)] B.sort() cnt = 1 tmp = N while tmp: cnt += 1 tmp >>= 1 for i in range(N): if A[i] < B[0]: print(0) elif A[i] >= B[-1]: print(N) else: l, r = 0, N d = (l + r) // 2 for j in range(cnt+1): if A[i] >= B[d]: l = d d = (l + r) // 2 else: r = d d = (l + r) // 2 print(d + 1)