func_code_string: #include <bits/stdc++.h>   using namespace std;   int unibit[60] = {0};   long long a[200005];   long long unia[200005] = {0};   int main() {     int n, k, x;     cin >> n >> k >> x;     long long orr = 0;     for (int i = 1; i <= n; i++) {       cin >> a[i];       orr |= a[i];       long long b = a[i];       for (int j = 0; b > 0; j++) {         if (b % 2 == 1) {           if (unibit[j] == 0)             unibit[j] = i;           else             unibit[j] = -1;         }         b /= 2;       }     }     long long pow = 1;     for (int i = 0; i < 35; i++) {       if (unibit[i] > 0) {         int j = unibit[i];         unia[j] += pow;       }       pow *= 2;     }     long long ans = 0;     long long xx = 1;     for (int i = 0; i < k; i++) xx *= (long long)x;     for (int i = 1; i <= n; i++) {       long long or2 = orr;       or2 ^= unia[i];       a[i] *= xx;       or2 |= a[i];       if (ans < or2) ans = or2;     }     cout << ans;     return 0;   }   