编程题
### 问题描述
小浩有一个长度为 $N$ 的数组 $A$,保证它至少包含两个不同的元素。
给你一个非负整数 $X$,对于每个 $Y(0\le Y\le X)$,构造一个长度为 $N$ 的数组 $B$ 满足 $B_i=A_i|Y$。
小浩想让数组 $B$ 包含至少两个不同的元素,请问在满足要求的情况下最大的 $Y$ 值是什么?
### 输入格式
第一行输入两个整数 $N,X$ 分别表示数组的长度和 $Y$ 的上界。
第二行输入 $N$ 个整数 $A_1,A_2,\cdots,A_N$ 表示数组的元素。
### 输出格式
输出一个整数表示在满足要求的情况下最大的 $Y$ 值。
### 样例输入1
```text
3 5
1 1 2
```
### 样例输出1
```text
5
```
### 样例输入2
```text
5 10
4 5 2 3 5
```
### 样例输出2
```text
10
```
### 样例输入3
```text
3 3
1 1 3
```
### 样例输出3
```text
1
```
### 说明
- 样例 $1$:对于 $Y=5$,数组 $B=[1|5,1|5,2|5]=[5,5,7]$ 包含 $2$ 种不同的元素,这是满足要求的情况下 $Y$ 的最大值。
- 样例 $2$:对于 $Y=10$,数组 $B=[4|10,5|10,2|10,3|10,5|10]=[14,15,10,11,15]$ 包含 $4$ 种不同的元素,这是满足要求的情况下 $Y$ 的最大值。
- 样例 $3$:对于 $Y=1$,数组 $B=[1|1,1|1,3|1]=[1,1,3]$ 包含 $2$ 种不同的元素,这是满足要求的情况下 $Y$ 的最大值。
### 评测数据规模
对于所有的评测数据,$2\le N\le 2\times10^5$,$0\le A_i,X<2^{30}$。