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>).
from collections import defaultdict

def solve(N, K, X, A):
    for _ in range(K):

        vis = defaultdict(int)
        for a in A:
            k = 0
            while a:
                if a & 1:
                    vis[k] += 1
                a //= 2
                k += 1

        max_val, max_idx = -1, -1
        for i in range(N):
            a = A[i]
            temp_vis = vis.copy()
            k = 0
            while a:
                if a & 1:
                    temp_vis[k] -= 1
                a //= 2
                k += 1

            a = A[i] * X
            k = 0
            while a:
                if a & 1:
                    temp_vis[k] += 1
                a //= 2
                k += 1

            val = 0
            for k in temp_vis:
                if temp_vis[k] > 0:
                    val += 2 ** k

            if val > max_val:
                max_val = val
                max_idx = i

        A[max_idx] *= X

    ans = 0
    for a in A:
        ans |= a
    return ans

N, K, X = map(int, input().split())
A = list(map(int, input().split()))
print(solve(N, K, X, A))
