n,t,x,y,*D = map(int,open(0).read().split()) z = min(x,y) D.sort() l = -1 E = [] for r in range(n): if r==n-1 or D[r+1]-D[r]>t: E.append(r-l) l = r E.sort() ans = [0]*n i = 0 c = 0 for e in E[::-1]: for _ in range(e): ans[i] = c*z i += 1 c += 1 print(*ans)