n,k,x,y=map(int,input().split())
a=sorted([*map(lambda x:(int(x)-1)//k if (int(x)-1)%k==0 else (int(x)-1)//k+1,input().split())])
ans=0
b=n
while b>0:
    m=a[n-b]
    ans+=y*m if y<b*x else b*x*m
    a=[*map(lambda h: max(0,h-m),a)]
    b=n-a.count(0)
print(ans)