You are given *n* numbers *a*<sub class="lower-index">1</sub>, *a*<sub class="lower-index">2</sub>, ..., *a*<sub class="lower-index">*n*</sub>. You can perform at most *k* operations. For each operation you can multiply one of the numbers by *x*. We want to make <img align="middle" class="tex-formula" src="https://espresso.codeforces.com/1faa5be276f646dfb07d2a01bf67449ad72c0ef7.png" style="max-width: 100.0%;max-height: 100.0%;"/> as large as possible, where <img align="middle" class="tex-formula" src="https://espresso.codeforces.com/ddbf6923ea3f08cb83b08ed026f40a80751dff3f.png" style="max-width: 100.0%;max-height: 100.0%;"/> denotes the bitwise OR. 

Find the maximum possible value of <img align="middle" class="tex-formula" src="https://espresso.codeforces.com/1faa5be276f646dfb07d2a01bf67449ad72c0ef7.png" style="max-width: 100.0%;max-height: 100.0%;"/> after performing at most *k* operations optimally.
The first line contains three integers *n*, *k* and *x* (1 ≤ *n* ≤ 200 000, 1 ≤ *k* ≤ 10, 2 ≤ *x* ≤ 8).

The second line contains *n* integers *a*<sub class="lower-index">1</sub>, *a*<sub class="lower-index">2</sub>, ..., *a*<sub class="lower-index">*n*</sub> (0 ≤ *a*<sub class="lower-index">*i*</sub> ≤ 10<sup class="upper-index">9</sup>).
# للمقارنة
prefix = list()
suffix = list()
# المدخلات
n,k,x = input().split()
s = input().split()
# لتخزين قيمة الضرب
maxi = int(x)**int(k)
 # تعيين القائمة 0
prefix = [0]*(int(n)+1)
suffix = [0]*(int(n)+1)
# تغيير قيم القوائم
for i in range(0,int(n)):
    prefix[i+1] = prefix[i] | int(s[i])
    suffix[int(n)-1-i] = suffix[int(n)-i] | int(s[int(n)-1-i])
# إيجاد الناتج
ans = 0
for i in range(0,int(n)):
    ans = max(ans, prefix[i] | int(s[i]) * maxi | suffix[i+1])
# طباعة الناتج
print(ans)