#Y5. 或

题目描述

给定一个长度为 nn 的序列 aa,你可以对其进行 kk 次操作,每次操作你可以将 aa 中的一个数乘上 xx。求做完操作后 a1a2...ana_1 | a_2 | ... | a_n 的最大值。

其中 “|” 表示 按位或。

将数 a,ba, b 按位或定义如下:

22 进制下,结果的第 kk 位为 11,当且仅当 aabb 的第 kk 位为 11

510=155 | 10 = 15(在二进制下,1011010=1111101 | 1010 = 1111)。

输入格式

第一行三个整数 n,k,xn, k, x
第二行 nn 个整数 aia_i

样例 #1

样例输入 #1

4 2 3
1 2 4 8

样例输出 #1

79

提示

本题输入可参考下列方式实现:

n, k, x = map(int, input().split())
a = list(map(int,input().split()))

数据范围

$1 \le n \le 10^5, 2 \le k \le 10, 1 \le x \le 8, 0 \le a_i \le 10^9$。

本题时限为 std 的 44 倍以上。