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])