#include<cstdio>
#include<iostream>
#include<cstring>
#include<iomanip>
#include<cmath>
using namespace std;
const int maxn=200005;
int n,a[maxn],num[65];
long long k,x,ans;
int main(){
cin>>n>>k>>x;
long long xx=pow(x,k);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
int x=a[i],cnt=0;
while(x>0){
cnt++;
if(x&1) num[cnt]++;
x>>=1;
}
}
for(int i=1;i<=n;i++){
long long x=a[i],cnt=0,res=0;
while(x>0){
cnt++;
if(x&1) num[cnt]--;
x>>=1;
}
cnt=1;
for(int j=1;j<=63;j++){
if(num[j]) res+=cnt;
cnt<<=1;
}
ans=max(ans,res|(a[i]*xx));
x=a[i];
cnt=0;
while(x>0){
cnt++;
if(x&1) num[cnt]++;
x>>=1;
}
}
cout<<ans;
return 0;
}