n, k, x, y = gets.split.map &:to_i a = gets.split.map &:to_i b = a.map { |i| (i + k - 2) / k }.sort cul = [0] * (n + 1) n.pred.downto(0) do |i| cul[i] = cul[i + 1] + b[i] end y = x * n if y > x * n puts n.times.to_a.map { |i| b[i] * y + (cul[i + 1] - b[i] * (n - 1 - i)) * x }.min