#!/usr/bin/env python3 from typing import * import bisect def solve(n: int, d: int, a: List[int]) -> List[str]: sorted_a = sorted(a) ans = [] for a_i in a: ans.append(bisect.bisect_right(sorted_a, a_i - d)) return ans # generated by online-judge-template-generator v4.4.0 (https://github.com/kmyk/online-judge-template-generator) def main(): N, D = map(int, input().split()) A = [None for _ in range(N)] for i in range(N): A[i] = int(input()) ans = solve(N, D, A) for i in range(N): print(ans[i]) if __name__ == '__main__': main()