你获得了一串 $$$n$$$ 个宝石,从左到右排成了一行,其中每颗宝石有自己独特的价值,第 $$$i$$$ 颗宝石价值为 $$$v_i$$$。如果把这串宝石全部卖出去,可以获得所有宝石价值的总和这么多的钱财。
但是聪明的你发现,宝石内部的能量是不稳定的!对于宝石的某个区间 $$$[l,r](l \lt r)$$$,可以从左右两端向内部施加一次碰撞,来改变宝石的能量分布,使得 $$$[l,r]$$$ 内部的所有宝石的价值都变为 $$$v_l \oplus v_r$$$,其中 $$$\oplus$$$ 是二进制异或运算。注意,由于只有一个宝石时无法碰撞,所以要求选择的区间 $$$l \lt r$$$。
你可以任意决定碰撞操作的位置、顺序和次数,请问你能获得的最大价值是多少?
第一行,一个整数 $$$t$$$ $$$(1\le t\le 10^5)$$$,表示测试数据的组数。
对于每组测试数据:
第一行输入一个整数 $$$n$$$ $$$(1\le n\le 10^5)$$$,表示宝石的个数;第二行包含 $$$n$$$ 个整数 $$$v_i$$$ $$$(1\le v_i \lt 2^{31})$$$,表示第 $$$i$$$ 个宝石的价值。
保证所有同一测试点内的 $$$n$$$ 总和不超过 $$$10^5$$$。
对每组测试数据,输出一行整数,表示你能获得的最大价值。
7 2 1 2 2 6 2 3 3 5 2 4 2 6 4 12 6 15 1 4 8 2 16 2 9 10 3 24 25 13
6 8 21 56 186 19 72