Олимпиадный тренинг

Задача . B. Игра


Вам дано n чисел a1, a2, ..., an. Вы можете выполнить не более k операций. За одну операцию можно умножить одно из данных чисел на x. Требуется сделать как можно больше, где обозначает побитовое ИЛИ.

Найдите максимально возможную величину после выполнения не более k операций оптимальным образом.

Входные данные

В первой строке записано три целых числа n, k и x (1 ≤ n ≤ 200 000, 1 ≤ k ≤ 10, 2 ≤ x ≤ 8).

Во второй строке записано n целых чисел a1, a2, ..., an (0 ≤ ai ≤ 109).

Выходные данные

Выведите максимальное значение побитового ИЛИ для элементов последовательности после выполнения операций.

Примечание

В первом примере любой возможный выбор проведения одной операции приведет к трём различным числам 1, 1, 2, так что результат будет равен .

Во втором примере, если дважды умножить 8 на 3, то получим 72. В этом случае числа будут таковы: 1, 2, 4, 72, так что значение ИЛИ будет равно 79, что является наилучшим возможным результатом.


Примеры
Входные данныеВыходные данные
1 3 1 2
1 1 1
3
2 4 2 3
1 2 4 8
79

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w642
Комментарий учителя