题目描述

共有 N 队参加 superbull 比赛。每队分配 1 个不同的整数 ID(范围在 1 ~ 230 -1)以区分不同的球队。这个 superbull 的每一场比赛都是一个淘汰赛,你是组织方,所以一场比赛谁胜谁负由你说了算,即你可以任意决定谁淘汰。这个 superbull 结束时,只剩下一个团队仍然存在。

你注意到比赛的得分有一个非常不寻常的特性!任何一场比赛,两支球队的综合得分总是以两队 ID 号按位异或(XOR)的值结束。

例如,如果两队的 ID 分别是 12 和 20,那这场比赛的得分将是 24 点,即 01100 XOR 10100 = 11000 。

农民约翰相信一场比赛的得分可以得更多的点,该比赛才更精彩。因此,他要选择一个合适的比赛序列,使superbull 的总得分最大化。请帮助农民约翰组织比赛。

输入格式

第一行包含一个整数 N

以下 N 行包含 NID

输出格式

输出一个的最大可能整数,superbull 比赛中总的得分点数。

样例

样例输入

4
3
6
9
10

样例输出

37

样例解释

取得 37 分的一个方案如下:你先组织 3 号球队和 9 号球队比赛,并判定 9 号队胜,则 6 号,9 号,和 10 号留下继续比赛。然后他再选 6 和 9 比赛,并让 6 号胜。则 6 号和 10 号留下继续比赛。最后,6 号和 10 号比赛,10 号胜。总得分点数是 (3 XOR 9)+(6 XOR 9)+(6 XOR 10)= 10 + 15 + 12 = 37。

注:按位异或运算,通常用 ^ 符号,它是对两个二进制整数的每一位按位执行逻辑异或运算。异或运算的规则是:只有在两个比较的位不同时其结果是 1,否则结果为 0。

数据范围与提示

对 100% 的数据满足:1 <= N <= 2000  。