#include using namespace std; #define rep(i,n) for(int i = 0; i < (n);i++) #define sz(x) int(x.size()) typedef long long ll; typedef pair P; constexpr int INF = 2e9; int main() { int n; ll k, x, y; cin >> n >> k >> x >> y; vector a(n); rep(i,n) cin >> a[i], a[i]--; ll lim = 0; a.emplace_back(0); for (int i = 1; i <= n; i++) { if (x * i < y) lim = i; } sort(a.begin(), a.end(), greater()); ll cnt = (a[lim] + k - 1) / k; ll res = cnt * y; for (int i = 0; i < lim; i++) { a[i] -= cnt * k; a[i] = max(0LL, a[i]); res += x * ((a[i] + k - 1) / k); } cout << res << endl; return 0; }