n, h, x, y = gets.split.map(&:to_i) c = gets.split.map{|ai| ((ai.to_i-1).to_f / h).ceil }.sort! mp = 0 while (0 < n) do ci = c.shift break if ci.nil? if 0 == ci n -= 1 next end mp += ci * [n*x, y].min c.map!{|cj| cj - ci } n -= 1 end puts mp