#include <bits/stdc++.h>
using namespace std;
const int INF = 1000 * 1000 * 1000;
const long long INF64 = 1LL * INF * INF;
const long long mod = INF + 7;
long long a[200001];
long long pref[200001], post[200001];
void solve() {
  int n, k, x;
  cin >> n >> k >> x;
  int d = 0;
  for (int i = 0; i < n; ++i) {
    cin >> a[i];
  }
  for (int i = 1; i <= n; ++i) {
    pref[i] = pref[i - 1] | a[i - 1];
  }
  for (int i = n - 1; i >= 0; --i) {
    post[i] = post[i + 1] | a[i];
  }
  long long max = 0;
  for (int i = 1; i <= n; ++i) {
    for (int j = 0; j <= k; ++j) {
      long long tx = 1;
      for (int s = 0; s <= j; ++s) {
        max = std::max(max, (pref[i - 1] | (a[i - 1] * tx) | post[i]));
        tx *= x;
      }
    }
  }
  cout << max << endl;
}
int main() {
  cout.sync_with_stdio(false);
  solve();
  return 0;
}
