Snuke has N hats. The i-th hat has an integer a_i written on it.  There are N camels standing in a circle. Snuke will put one of his hats on each of these camels.  If there exists a way to distribute the hats to the camels such that the following condition is satisfied for every camel, print `Yes`; otherwise, print `No`.    * The bitwise XOR of the numbers written on the hats on both adjacent camels is equal to the number on the hat on itself.  What is XOR? The bitwise XOR x_1 \oplus x_2 \oplus \ldots \oplus x_n of n non- negative integers x_1, x_2, \ldots, x_n is defined as follows: - When x_1 \oplus x_2 \oplus \ldots \oplus x_n is written in base two, the digit in the 2^k's place (k \geq 0) is 1 if the number of integers among x_1, x_2, \ldots, x_n whose binary representations have 1 in the 2^k's place is odd, and 0 if that count is even. For example, 3 \oplus 5 = 6.
n=int(input())
a=list(map(int, input().split())) 
count=0
a.sort()

if a.count(0)==n:
    print('Yes')
elif n%3==0:
    if a.count(0)==n/3 and a.count(a[n//3])==n/3*2:
        print('Yes')
    elif a.count(0)==n/3 and a.count(a[n//3])==n/3 and a.count(a[n//3*2])==n/3:
        print('Yes')
    else:
        print('No')
else:
    print('No')
n=int(input())
a=list(map(int, input().split())) 
count=0
a.sort()

if a.count(0)==n:
    print('Yes')
elif n%3==0:
    if a.count(0)==n//3 and a.count(a[n//3])==n//3*2:
        print('Yes')
    elif a.count(a[0])==n//3 and a.count(a[n//3])==n//3 and a.count(a[n//3*2])==n//3 and a[0]^a[n//3]^a[n//3*2]==0:
        print('Yes')
    else:
        print('No')
else:
    print('No')