#include int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int N, T, X, Y; std::cin >> N >> T >> X >> Y; std::vector D(N); for (int i = 0; i < N; i++) { std::cin >> D[i]; } std::sort(D.begin(), D.end()); std::vector V; int now = 1; for (int i = 1; i < N; i++) { if (D[i] - D[i - 1] > T) { V.push_back(now); now = 1; } else { now++; } } V.push_back(now); std::sort(V.begin(), V.end()); int p = 0; long long P = std::min(X, Y); long long ans = -P; for (int i = 0; i < N; i++) { if (p == 0) { assert(V.size()); p = V.back(); V.pop_back(); ans += P; } p--; std::cout << ans << (i + 1 == N ? '\n' : ' '); } }