import sys # import bisect #二分探索 # import math from collections import deque from collections import defaultdict def I(): return int(sys.stdin.readline().rstrip()) def MI(): return map(int, sys.stdin.readline().rstrip().split()) def LI(): return list(map(int, sys.stdin.readline().rstrip().split())) def LI2(): return list(map(int, sys.stdin.readline().rstrip())) def S(): return sys.stdin.readline().rstrip() def LS(): return list(sys.stdin.readline().rstrip().split()) def LS2(): return list(sys.stdin.readline().rstrip()) # 1次元の配列 # list(map(int, input().split())) # 2次元の配列 # [list(map(int, input().split())) for i in range()] # wsl pypy3 ファイル名 input = sys.stdin.readline from collections import Counter, defaultdict def XOR_Basis(lst): xor_basis=[] triangulation=[] for x in lst: xx=x for xb in triangulation: xx=min(xx,xx^xb) if xx: xor_basis.append(x) triangulation.append(xx) return xor_basis,triangulation N = I() A = LI() total_xor = 0 for a in A: total_xor ^= a if total_xor != 0: print("No") exit() _,tria=XOR_Basis(A) K=0 for x in tria: if K^x