N = int(eval(input()))

A = list(map(int, input().split()))

for i in range(N):

  A[i] = bin(A[i])

max_len = len(A[N-1]) - 2

for i in range(N):

  A[i] = A[i][2:].zfill(max_len)

check = True

for i in range(max_len):

  count0 = 0

  count1 = 0

  for j in range(N):

    if(A[j][i] == '0'):

      count0 += 1

    else:

      count1 += 1

  if(count1 == 0):

    continue

  elif(count1 == count0 * 2):

    continue

  else:

    check = False

    break

if(check):

  print('Yes')

else:

  print('No')
n = int(eval(input()))

nums = list(map(int, input().split()))

#set型にしてからlistにキャストすることで，複数存在するものを省いている

unq = list(set(nums))



#違う数字が4個以上存在したら，正しい答えは存在しない

if len(unq) > 3:

  print("No")



if len(unq) == 3:

    #list,unqをアンパックしてa,b,cにいれている

    a,b,c = unq

    if a ^ b ^ c == 0:

      if nums.count(a) == nums.count(b) == nums.count(c):

        print("Yes")

      else:

        print("No")

    else:

      print("No")



if len(unq) == 2:

    a,b = sorted(unq)

    if a == 0:

      if nums.count(a) * 2 == nums.count(b):

        print("Yes")

      else:

        print("No")

    else:

      print("No")



if len(unq) == 1:

    a = unq[0]

    if a != 0:

      print("No")

    else:

      print("Yes")

N = int(eval(input()))
A = list(map(int, input().split()))
for i in range(N):
    A[i] = bin(A[i])
max_len = len(A[N - 1]) - 2
for i in range(N):
    A[i] = A[i][2:].zfill(max_len)
check = True
for i in range(max_len):
    count0 = 0
    count1 = 0
    for j in range(N):
        if A[j][i] == "0":
            count0 += 1
        else:
            count1 += 1
    if count1 == 0:
        continue
    elif count1 == count0 * 2:
        continue
    else:
        check = False
        break
if check:
    print("Yes")
else:
    print("No")

n = int(eval(input()))
nums = list(map(int, input().split()))
# set型にしてからlistにキャストすることで，複数存在するものを省いている
unq = list(set(nums))
# 違う数字が4個以上存在したら，正しい答えは存在しない
if len(unq) > 3:
    print("No")
if len(unq) == 3:
    # list,unqをアンパックしてa,b,cにいれている
    a, b, c = unq
    if a ^ b ^ c == 0:
        if nums.count(a) == nums.count(b) == nums.count(c):
            print("Yes")
        else:
            print("No")
    else:
        print("No")
if len(unq) == 2:
    a, b = sorted(unq)
    if a == 0:
        if nums.count(a) * 2 == nums.count(b):
            print("Yes")
        else:
            print("No")
    else:
        print("No")
if len(unq) == 1:
    a = unq[0]
    if a != 0:
        print("No")
    else:
        print("Yes")

-N = int(eval(input())) -A = list(map(int, input().split())) -for i in range(N): -    A[i] = bin(A[i]) -max_len = len(A[N - 1]) - 2 -for i in range(N): -    A[i] = A[i][2:].zfill(max_len) -check = True -for i in range(max_len): -    count0 = 0 -    count1 = 0 -    for j in range(N): -        if A[j][i] == "0": -            count0 += 1 +n = int(eval(input())) +nums = list(map(int, input().split())) +# set型にしてからlistにキャストすることで，複数存在するものを省いている +unq = list(set(nums)) +# 違う数字が4個以上存在したら，正しい答えは存在しない +if len(unq) > 3: +    print("No") +if len(unq) == 3: +    # list,unqをアンパックしてa,b,cにいれている +    a, b, c = unq +    if a ^ b ^ c == 0: +        if nums.count(a) == nums.count(b) == nums.count(c): +            print("Yes") -            count1 += 1 -    if count1 == 0: -        continue -    elif count1 == count0 * 2: -        continue +            print("No") -        check = False -        break -if check: -    print("Yes") -else: -    print("No") +        print("No") +if len(unq) == 2: +    a, b = sorted(unq) +    if a == 0: +        if nums.count(a) * 2 == nums.count(b): +            print("Yes") +        else: +            print("No") +    else: +        print("No") +if len(unq) == 1: +    a = unq[0] +    if a != 0: +        print("No") +    else: +        print("Yes")