#include <bits/stdc++.h>
using namespace std;
using namespace std;
long long arr[110000];
long long n, k, a, b;
long long solve(long long l, long long r) {
  long long res = upper_bound(arr, arr + k, r) - lower_bound(arr, arr + k, l);
  if (res == 0) return a;
  res = res * b * (r - l + 1);
  if (l == r) return res;
  long long left = solve(l, (l + r) / 2);
  long long right = solve((l + r) / 2 + 1, r);
  return min((left + right), res);
}
signed main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> k >> a >> b;
  for (long long i = 0; i < k; i++) {
    cin >> arr[i];
  }
  sort(arr, arr + k);
  cout << solve(1, 1 << n);
  return 0;
}
