func main() var n: int :: cui@inputInt() var k: int :: cui@inputInt() var x: int :: cui@inputInt() var y: int :: cui@inputInt() var a: []int :: #[n + 1]int for i(1, n) do a[i] :: (cui@inputInt() - 1 + k - 1) / k end for do a.sort() do a.reverse() var mp: int :: y * a[0] var ans: int :: mp for i(0, n - 1) var num: int :: a[i] - a[i + 1] do mp :- num * y do mp :+ num * (i + 1) * x do ans :: lib@min(ans, mp) end for do cui@print("\{ans}\n") end func