#agc035a. [agc035_a]XOR Circle

[agc035_a]XOR Circle

题目描述

Snuke 有 NN 顶帽子,第 ii 顶帽子上写着一个整数 aia_i

NN 只骆驼站在一个圆圈里。Snuke 将他的帽子戴在每只骆驼身上。

如果存在一种分配帽子给骆驼的方法,使得对于每只骆驼都满足以下条件,请输出 Yes;否则,请输出 No

  • 两只相邻骆驼上帽子上的数字的按位异或等于它们自身帽子上的数字。

什么是异或运算?nn 个非负整数 x1,x2,...,xnx_1, x_2, ..., x_n 的按位异或 x1x2...xnx_1 \oplus x_2 \oplus ... \oplus x_n 的定义如下:- 当将 x1x2...xnx_1 \oplus x_2 \oplus ... \oplus x_n 用二进制表示时,如果 x1,x2,...,xnx_1, x_2, ..., x_n 中二进制表示在第 2k2^k 位上为 11 的整数的个数为奇数,则在二进制表示的第 2k2^k 位上是 11,否则是 00。例如,35=63 \oplus 5 = 6

约束条件

  • 输入中的所有值都是整数。
  • 3N1053 \leq N \leq 10^{5}
  • 0ai1090 \leq a_i \leq 10^{9}

输入

输入以以下格式从标准输入给出:

NN a1a_1 a2a_2 ... aNa_{N}

输出

输出答案。


示例输入1

3
1 2 3

示例输出1

Yes

如果我们按顺时针的顺序将帽子 112233 放在骆驼身上,那么每只骆驼都满足条件,因此答案是 Yes


示例输入2

4
1 2 4 8

示例输出2

No

没有一种分配帽子的方法满足条件,所以答案是 No