Candy

Time Limit:1000MS  Memory Limit:65535KB
Description:
Solo和koko是两兄弟,妈妈给了他们一大袋糖,每块糖上都有自己的重量。现在他们想要将这些糖分成两堆。分糖的任务当然落到了大哥Solo的身上,然而koko要求必须两个人获得的糖的总重量“相等”(根据Koko的逻辑),要不然就会哭的。
 非常不幸的是,koko还非常小,并且他只会先将两个数转成二进制再进行加法,而且总会忘记进位。如当12(1100)加5(101)时:
   1100
+ 0101
 ------
   1001

  于是koko得到的计算结果是9(1001)。此外还有一些例子:
5 + 4 = 1
7 + 9 = 14
50 + 10 = 56
(事实上,这正是异或运算:12^5=9,5^4=1…)
现在Solo非常贪婪,他想要尽可能使自己得到的糖的总重量最大,且不让koko哭。

Input:
输入的第一行是一个整数N(2 ≤ N ≤ 15),表示有袋中多少块糖。第二行包含N个用空格分开的整数Ci(1 ≤ C≤ 106),表示第i块糖的重量。
Output:
如果能让koko不哭,输出Solo所能获得的糖的总重量,否则输出“NO”。
Sample test:
Input
3
3 5 6
Output
11
Note:
更多样例:
input 1
3
3 5 6
output 1
11
input 2
5
1 2 3 4 5
output 2
NO
input 3
8
7258 6579 2602 6716 3050 3564 5396 1773
output 3
35165
样例1中,三块糖重量为3、5、6,因为5(101)+6(110)=3(11),所以Solo拿走了重为5和6的糖,koko则得到了重为3的糖。
 样例2中五块糖,无论如何分,都无法满足koko的要求,所以NO。
样例3中Solo拿走了前面7块糖,一共重35165。
Source:
Author:
ACSolo