func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, k, A, B, a[200006];   long long ask(int l, int r) {     long long ans;     int mid = (l + r) / 2,         num = upper_bound(a + 1, a + k + 1, r) - lower_bound(a + 1, a + k + 1, l);     if (num == 0)       return A;     else       ans = 1LL * B * num * (r - l + 1);     return r - l ? min(ans, ask(l, mid) + ask(mid + 1, r)) : ans;   }   int main() {     scanf( %d%d%d%d , &n, &k, &A, &B);     for (int i = 1; i <= k; i++) scanf( %d , &a[i]);     sort(a + 1, a + k + 1);     printf( %lld n , ask(1, 1 << n));   }   