import collections,sys,math,functools,operator,itertools,bisect,heapq,decimal,string,time,random #sys.setrecursionlimit(10**9) #sys.set_int_max_str_digits(0) input = sys.stdin.readline n = int(input()) a = list(map(int,input().split())) if functools.reduce(operator.xor,a) != 0: print('No') exit() c = collections.Counter(a) for i in a: if c[i] >= 2: print('Yes') exit() dp = [[0 for i in range(1<<13+1)] for j in range(n+1)] dp[1][a[0]] = 1 for i in range(n): for j in range(1<<13+1): dp[i+1][j] += dp[i][j] dp[i+1][j ^ a[i]] += dp[i][j] dp[i+1][j] = min(dp[i+1][j],2) dp[i+1][j ^ a[i]] = min(dp[i+1][j ^ a[i]],2) print('Yes' if dp[-1][0] >= 2 else 'No')