编程题
### 问题描述
给出长度为 $n$ 的非负整数序列 $a$。定义 $a$ 的一个连续子区间的权值为该子数组中所有元素**按位与**的结果。你需要在 $a$ 中找到两个不相交的非空子区间,使得这两个子区间的权值**按位与**后得到的值最大。
例如,对于序列 $[1,1,4,5,1,4]$,可以选择两个子区间 $[1,1]$ 和 $[4,5]$,其权值分别为 $1$ 和 $4$,按位与得到的值为 $1$。注意这只是一个可行的示例,不代表答案的最大值是 $1$。
### 输入格式
第一行一个整数 $n \space (2 \leq n \leq 10^5)$,代表序列的长度。
接下来一行 $n$ 个正整数 $a_i \space (0 \leq a_i < 2^{30})$,代表序列的值。
### 输出格式
输出一行一个整数,即两个子区间的权值按位与后得到的值的最大值。
### 样例输入
```
6
1 1 4 5 1 4
```
### 样例输出
```
4
```