from bisect import * def solve(): N, D = map(int, input().split()) A = [int(input()) for _ in range(N)] B = sorted(A) ans = [0]*N for i in range(N): ans[i] = bisect_right(B,A[i]-D) return ans print(*solve(),sep='\n')