N, K, X, Y = map(int, input().split()) A = list(map(int, input().split())) C = [(a - 2) // K + 1 for a in A] C.sort() mp = 0 recover = 0 for i in range(N): if (N - i) * X > Y: mp += (C[i] - recover) * Y recover = C[i] else: for j in range(N): mp += max(C[j] - recover, 0) * X break print(mp)