4573 - 异或与乘积
时间限制 : 1 秒
内存限制 : 128 MB
小信有n个整数的序列A
他可以做若干次操作,每次任意选择两个数,把他们异或起来,之后删除这两个数,并把他们异或后的结果加入序列。在进行任意若干次操作后,会把序列中剩下的数全部乘起来。(注意,小信最多操作n一1次,在这之后序列会只剩下一个数)
小信想知道最后的结果最大是多少。
由于答案可能很大,输出对1000000007取模后的结果。
输入
第一行包含一个整数n。
第二行包含n个整数表示序列A。
输出
一个整数表示答案对1000000007取模后的结果。
样例
输入
4 1 2 1 2
输出
9
输入
2 3 3
输出
9
输入
2 1 3
输出
3
提示
2 \leq n \leq 10^5 , 1\leq ai \leq 10^9
来源
信友队