#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()); int Max = 1, cnt = 1; for (int i = 1; i < N; i++) { if (D[i] - D[i - 1] <= T) { cnt++; } else { cnt = 1; } Max = std::max(Max, cnt); } for (int i = 0; i < Max; i++) { std::cout << 0 << (i + 1 == N ? '\n' : ' '); } long long P = std::min(X, Y), ans = 0; for (int i = Max; i < N; i++) { ans += P; std::cout << ans << (i + 1 == N ? '\n' : ' '); } }