using System; public class Hello { static int n, k, x, y, azero; static long ans; static void Main() { string[] line = Console.ReadLine().Trim().Split(' '); n = int.Parse(line[0]); k = int.Parse(line[1]); x = int.Parse(line[2]); y = int.Parse(line[3]); var a = new int[n]; line = Console.ReadLine().Trim().Split(' '); azero = 0; for (int i = 0; i < n; i++) { a[i] = (int.Parse(line[i]) + k - 2) / k; if (a[i] == 0) azero++; } ans = 0L; getAns(a); Console.WriteLine(ans); } static void getAns(int[] a) { while (azero < n) { if (check(a)) { ans += (long)(n - azero) * x; } else ans += y; dec(a); } } static void dec(int[] a) { for (int i = 0; i < n; i++) { if (a[i] > 1) a[i]--; else if (a[i] == 1) { a[i] = 0; azero++; } } } static bool check(int[] a) { var b1 = (long)(n - azero) * x; return b1 <= y; } }