#include <bits/stdc++.h>
using namespace std;
long long power(long long a, long long b, long long mod) {
  long long c = 1;
  while (b > 0) {
    if (b % 2) c *= a, c %= mod;
    b /= 2;
    a *= a;
    a %= mod;
  }
  return c;
}
vector<long long> v;
long long n, k, a, b;
long long fun(long long low, long long high) {
  long long na = upper_bound(v.begin(), v.end(), high) -
                 lower_bound(v.begin(), v.end(), low);
  if (low == high) {
    if (na > 0)
      return b * na;
    else
      return a;
  }
  long long mid = (low + high) / 2;
  if (na > 0)
    return min(na * b * (high - low + 1), fun(low, mid) + fun(mid + 1, high));
  else
    return (a);
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> k >> a >> b;
  for (long long i = 0; i < k; i++) {
    long long x;
    cin >> x;
    v.push_back(x);
  }
  sort(v.begin(), v.end());
  cout << fun(1, pow(2, n));
}
