#include <bits/stdc++.h>
using namespace std;
const long long int maxn = 1e5;
vector<long long int> arr;
long long int n, k, a, b;
long long int power(long long int l, long long int r) {
  long long int i = lower_bound(arr.begin(), arr.end(), l) - arr.begin();
  long long int j = upper_bound(arr.begin(), arr.end(), r) - arr.begin();
  j--;
  long long av = j - i + 1;
  long long p = 0;
  if (av == 0)
    p = a;
  else {
    p = av * (r - l + 1) * b;
  }
  if (l == r || av == 0) return p;
  long long int mid = (l + r) / 2;
  p = min(p, power(l, mid) + power(mid + 1, r));
  return p;
}
int main() {
  cin >> n >> k >> a >> b;
  arr = vector<long long int>(k);
  for (int i = 0; i < k; i++) {
    cin >> arr[i];
  }
  sort(arr.begin(), arr.end());
  long long int ans = power(1, (1LL << n));
  cout << ans;
  return 0;
}
