#include <bits/stdc++.h>   using namespace std;   const int MOD = 1e9 + 7;   const int eps = -1e6;   const int MAX = 200010;   long long int n, k, x;   long long int a[MAX], pre[MAX], s[MAX];   long long int expo(long long int a, long long int b) {     long long int x = 1, y = a;     while (b > 0) {       if (b & 1) x = (x * y);       y = (y * y);       b >>= 1;     }     return x;   }   int main() {     ios_base::sync_with_stdio(0);     cin >> n >> k >> x;     for (int i = 0, _n = (n); i < _n; ++i) {       cin >> a[i];       if (i == 0)         pre[i] = a[i];       else         pre[i] = pre[i - 1] | a[i];     }     for (int i = n - 1; i >= 0; i--) {       if (i == n - 1)         s[i] = a[i];       else         s[i] = s[i + 1] | a[i];     }     long long int tmp = expo(x, k);     long long int res = 0;     for (int i = 0, _n = (n); i < _n; ++i) {       long long int z = a[i] * 1ll * tmp;       if (i == 0)         res = max(res, z | s[1]);       else if (i == n - 1)         res = max(res, pre[n - 2] | z);       else         res = max(res, pre[i - 1] | z | s[i + 1]);     }     cout << res << endl;     return 0;   }   