func_code_string: #include <bits/stdc++.h>   using namespace std;   const int INF = 1 << 30;   unsigned long long n, k, x;   unsigned long long a[300000];   unsigned long long dpL[300000];   unsigned long long dpR[300000];   int main() {     int i, j;     cin >> n >> k >> x;     unsigned long long s = 0, MAX = 0;     for (i = 0; i < n; i++) {       cin >> a[i];     }     for (i = 0; i < n - 1; i++) {       dpL[i + 1] = dpL[i] | a[i];     }     for (i = n - 1; i > 0; i--) {       dpR[i - 1] = dpR[i] | a[i];     }     unsigned long long ans1 = a[0], ans2 = a[n - 1];     for (i = 0; i < k; i++) {       ans1 = ans1 * x;       ans2 = ans2 * x;     }     unsigned long long ans = max(ans1 | dpR[0], ans2 | dpL[n - 1]);     for (i = 1; i < n - 1; i++) {       unsigned long long ANS = a[i];       for (j = 0; j < k; j++) {         ANS *= x;       }       ans = max(ans, ANS | dpL[i] | dpR[i]);     }     cout << ans << endl;     return 0;   }   