#include using namespace std; #include using namespace atcoder; using mint = atcoder::static_modint<998244353>; // using mint = atcoder::static_modint<1000000007>; using ld = long double; using ll = long long; #define mp(a,b) make_pair(a,b) #define rep(i,s,n) for(int i=s; i<(int)n; i++) const vector dx{1,0,-1,0},dy{0,1,0,-1}; int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n;cin>> n; ll t,x,y;cin >> t >> x >> y; ll d[n]; rep(i,0,n)cin >> d[i]; sort(d,d+n); vector a; int cnt=1; rep(i,1,n){ if(d[i]-d[i-1]>t){ a.push_back(cnt); cnt=1; } else cnt++; } a.push_back(cnt); sort(a.begin(),a.end(),greater()); int len=1; vector ans(n+1); int size=0; rep(i,0,a.size()){ size+=a[i]; // cout << size << " "; for(; len<=size; len++)ans[len]=i*min(x,y); } rep(i,1,n+1)cout << ans[i] << " "; }