OJ现已增加邮箱找回密码功能,还没有绑定邮箱的同学们请抓紧时间,以免密码丢失无法找回


问题 C: 异或运算(eazy verson)

问题 C: 异或运算(eazy verson)

时间限制: 1 Sec  内存限制: 128 MB
提交: 106  解决: 41
[提交] [状态] [讨论版] [命题人:]

题目描述

自从上次在群里水群发现新生们会异或运算,cbyyx学长就决定这场比赛给大家出位运算的题目。位运算就是把两个数拆解成二进制,并且位数更小的那个向位数更高的补全前导0,比如16和9,分别为10000,01001。

异或运算:

运算规则:两位上的数字相同则该位异或后为0,否则为1。

实例(以二进制下的数字演示):1111^1001=0110,1010^101=1010^0101=1111。

现在cbyyx给定你一个n,以及一个长度为n的序列,现在要求你输出这n个数的异或值,注意在C语言中异或运算可以直接用’^’打出,比如16^9,在C语言中是可以编译并且运行的。

输入

第一行一个数字n(n>=1&&n<=2e5),第二行n个数表示长度为n的序列,保证序列中每个数为非负整数并且小于1e9。

输出

一行一个数表示答案。

样例输入 Copy

3
1 2 4

样例输出 Copy

7

提示

1(10)^2(10)=1^10=01^10=11=3(10)

3(10)^4(10)=11^110=011^110=111=7(10)

后面有(10)表示十进制数,其他的表示二进制数