#include <bits/stdc++.h>
using namespace std;
int n, k, x;
long long res, r2;
vector<long long> V, V2;
long long P[2][200002];
int main() {
  ios_base::sync_with_stdio(0);
  cin >> n >> k >> x;
  long long a = 1;
  for (int i = 0; i < k; i++) a *= x;
  for (int i = 0; i < n; i++) {
    int b;
    cin >> b;
    V.push_back(b);
    V2.push_back(b * a);
  }
  for (int i = 0; i < (int)V.size(); i++) {
    res |= V[i];
    P[0][i] = res;
  }
  res = 0;
  for (int i = (int)V.size() - 1; i >= 0; i--) {
    res |= V[i];
    P[1][i] = res;
  }
  for (int i = 0; i < (int)V.size(); i++) {
    long long tmp;
    if (i == 0)
      tmp = V2[i] | P[1][i + 1];
    else
      tmp = (P[0][i - 1] | V2[i]) | P[1][i + 1];
    if (tmp > r2) r2 = tmp;
  }
  cout << r2 << '\n';
  return 0;
}
