#include <bits/stdc++.h>
using namespace std;
inline void FAST_IO() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
}
const int N = 3e5 + 5;
long long n, k, A, B;
long long a[N];
inline long long dfs(long long l, long long r) {
  long long now = upper_bound(a, a + k, r) - lower_bound(a, a + k, l);
  if (now == 0) return A;
  if (l == r) return (now == 0 ? A : now * B);
  long long mid = (l + r) >> 1;
  long long sum = dfs(l, mid) + dfs(mid + 1, r);
  sum = now * B * (r - l + 1) > sum ? sum : now * B * (r - l + 1);
  return sum;
}
signed main() {
  FAST_IO();
  cin >> n >> k >> A >> B;
  for (int i = 0; i < k; i++) {
    cin >> a[i];
  }
  sort(a, a + k);
  cout << dfs(1ll, 1ll << n) << '\n';
  return 0;
}
