#P5428. Superbull

Superbull

题目描述

贝西和她的朋友们正在参加一年一度的超级公牛锦标赛,农夫约翰负责使锦标赛旧能激动人心。共有N{N(}1<=N<=2000{1<=N<=2000)}支球队在Superbull{Superbull}比赛。每个团队分配一个不同的整数团队ID{ID ,}范围为1...{1...}2301{2^{30}-1}以区别于其他球队。超级牛是一种淘汰赛——每场比赛结束后,农夫约翰选择要从超级牛中淘汰的球队,被淘汰的球队不能再参加任何比赛。当只剩下一支球队时,超级公牛队就结束了。

农夫约翰注意到一个关于比赛分数的非常不寻常的属性!在任何游戏中,两队的总分最终总是两个队ID{ID}的位异或XOR{(XOR)}。例如,如果第12{12}队和第20{20}队比赛,那么该场比赛将得到24{24}分,因为01100 XOR 10100=11000{01100 ~XOR ~10100=11000}

法默·约翰认为,一场比赛得分越多,比赛就越精彩。因此,他希望选择一系列比赛,以使超级牛的总得分最大化。请帮助农民约翰组织比赛。

输入格式

第一行包含单个整数N{N}。以下N{N}行包含N{N}个团队ID{ID}

输出格式

输出在Superbull{Superbull}中可以得分的最大可能点数。

样例

输入样例

4
3
6
9
10

输出样例

37

提示

输出详细信息:

实现37{37}的一种方法如下:FJ{FJ}与第3{3}和第9{9}队比赛,并决定9{9}胜,因此比赛中剩下第6{6}9{9}10{10}队。然后他与第6{6}队和第9{9}队比赛,让第6{6}队获胜。第6{6}队和第10{10}队将留在锦标赛中。最后,6{6}队和10{10}队对决,10{10}队获胜。得分总数为(3XOR9{3 XOR 9)}+{+(}6 XOR 9{6~ XOR~ 9)}+{+(}6 XOR 10{6 ~XOR ~10)}=10+15+12=37{=10+15+12=37}

注:位异或运算通常由^符号表示,是对两个二进制整数中的每个位置执行逻辑异或运算的位运算。如果只有第一位为1{1}或只有第二位为1{1,}则每个位置的结果为1{1};如果两位均为0{0}或两位均为1{1,}则结果为0{0}。例如:10100{10100(}十进制20{20)}XOR01100{XOR 01100(}十进制12{12)}=11000{=11000(}十进制24{24)}