import bisect n, d = map(int, input().split()) a = [(int(input()), i) for i in range(n)] a.sort() ans = [0] * n for i in range(n): ans[a[i][1]] = bisect.bisect_left(a, (a[i][0] - d, 2000000000)) for i in range(n): print(ans[i])