import bisect n,d=map(int,input().split()) a=[] for i in range(n):a.append((int(input()),i)) 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])