N,D=map(int,input().split()) A=[(int(input()),i) for i in range(N)] ans=[-1]*N A.sort() s,t=0,0 for t in range(N): while A[t][0]-A[s][0]>=D: s+=1 ans[A[t][1]]=s print(*ans,sep="\n")