问题陈述
给定一个长度为 N 的数字序列 A。
让我们将这个序列分成一个或多个非空连续区间。
然后,对于每个区间,让我们计算其中数字的按位 mathrmOR。
找到以这种方式获得的值的按位 mathrmXOR 的最小可能值。
什么是按位 mathrmOR?
整数 A 和 B 的按位 mathrmOR,记作 AmathrmORB,定义如下:
- 当 AmathrmORB 用二进制表示时,在 2k 位置上的数字(kgeq0)如果 A 和 B 中至少有一个为 1,则该位置上的数字为 1,否则为 0。
例如,我们有 3mathrmOR5=7(在二进制中:011mathrmOR101=111)。
通常,k 个整数 p1,p2,p3,dots,pk 的按位 mathrmOR 定义为 (dots((p1mathrmORp2)mathrmORp3)mathrmORdotsmathrmORpk)。我们可以证明这个值不依赖于 p1,p2,p3,dotspk 的顺序。
什么是按位 mathrmXOR?
整数 A 和 B 的按位 mathrmXOR,记作 AmathrmXORB,定义如下:
- 当 AmathrmXORB 用二进制表示时,在 2k 位置上的数字(kgeq0)如果 A 和 B 中只有一个为 1,则该位置上的数字为 1,否则为 0。
例如,我们有 3mathrmXOR5=6(在二进制中:011mathrmXOR101=110)。
通常,k 个整数 p1,p2,p3,dots,pk 的按位 mathrmXOR 定义为 (dots((p1mathrmXORp2)mathrmXORp3)mathrmXORdotsmathrmXORpk)。我们可以证明这个值不依赖于 p1,p2,p3,dotspk 的顺序。
约束条件
- 1leNle20
- 0leAilt230
- 输入中的所有值都是整数。
输入
输入以以下格式从标准输入给出:
N
A1 A2 A3 dots AN
输出
输出答案。
示例输入 1
示例输出 1
如果我们将 1,5,7 分成 1,5 和 7,它们的按位 mathrmOR 分别是 5 和 7,它们的按位 mathrmXOR 是 2。
无法得到一个更小的结果,因此我们输出 2。
示例输入 2
示例输出 2
我们应该将此序列分成 10 和 10,10。
示例输入 3
示例输出 3
我们应该将此序列分成 1,3 和 3,1。