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

Задача 44389. Wizard ORZ


Задача

Темы: Битовые операции

The ORZ Wizard loves to conjure numbers. You decided to test its strength and gave it an array a consisting of n integers, as well as an integer z. The numbering of array elements starts from 1.

The ORZ wizard performs the following operation any number (possibly zero) times:

  • It selects an integer i such that 1<= i <= n. Then he whispers a spell and after that at the same time the number  ai turns into a number equal to (a i or z), and the number z turns into a number equal to (ai and z). 


Here or and and denote the bitwise OR and bitwise AND operations, respectively.

Find the maximum possible value of the maximum element in the array a after some (possibly zero) number of transformations.


Input
The first line of the input contains two integers: n and z (1 <= n <= 2000, 0 <= z < 230). The second line of the input contains n integers: a1a2,...,an (0 <= a<230). It is guaranteed that the sum of n  values ​​over all test cases does not exceed 104.

Imprint
Print the answer to the problem.
 
 
Examples
# Input Output Note
1 2 3
3 4
7

One of the optimal sequences of actions is the following:

  • Perform operation on i = 1. Now a1 becomes (3 or 3) = 3 and z becomes (3 and 3) = 3.
  • Perform operation for i = 2. Now a2 becomes (4 or 3) = 7, and z becomes equal to (3 and 3) = 0.
  • Perform operation on i = 1. Now a1 becomes (3 or 0) = 3 and z becomes (3 and 0) = 0.

After these operations, the sequence a becomes equal to [3,7], and the maximum value in it is equal to 7. It can be proved that the maximum value in a cannot exceed 7 in any sequence of operations, so the answer is 7.

2 5 5
0 2 4 6 8
13