#include using namespace std; using ll=long long; #define rep2(i, a, n) for(int i = (a); i < (n); i++) #define rep(i, n) rep2(i,0,n) #define inp(...) __VA_ARGS__; in(__VA_ARGS__) #define ot(...) __VA_ARGS__; out(__VA_ARGS__) void in() {} template void in(Head&& head, Tail&&... tail) { cin>>head; in(forward(tail)...); } void out() {} template void out(Head&& head, Tail&&... tail) { cout<(tail)...); } int main(){ cin.tie(nullptr);ios_base::sync_with_stdio(false); ll inp(n, k, x, y); vector a(n); rep(i,n)cin>>a[i]; rep(i,n)a[i]--; sort(a.begin(),a.end()); ll wd=n; while(wd*x>=y)wd--; ll all; if(wd==n)all=0; else all=(a[n-wd-1]+k-1)/k; ll ans=all*y; rep(i,wd){ ans+=(((a[n-wd+i]-all*k)+k-1)/k)*x; } cout<