import copy
import sys

# 条件に合う帽子が複数ある場合を考慮する
def check_hats(hat_1, hat_2, hats):
    can_loop = True
    while can_loop:
        hat_3 = hat_1 ^ hat_2
        if hat_3 in hats: # 条件を満たすハットが見つかれば
            hats.remove(hat_3)
            hat_1 = hat_2
            hat_2 = hat_3
            
            if len(hats) <= 0:
                can_loop = False
        else:
            # まだハットが残ってるのに、これ以上進めない場合
            hats = None
            can_loop = False

    # 全部乗せた場合
    if hat_2 ^ rakuda_2 == rakuda_1:
        print('Yes')
        sys.exit()
    else:
        hats = None

n = int(input())
rakuda = [0]*n
hats = list(map(int, input().split()))

hats.sort()
# 最初の一頭へ、aiのハットをかぶせる
rakuda_1 = hats[0]
hats.pop(0)

# # 次のラクダへ、何かを乗せる
for hi in range(0, len(hats)):
    rakuda_2 = hats[hi]    
    new_hats = copy.copy(hats)
    new_hats.pop(hi)

    # まだ全部置いてない場合、条件を満たす数値があるかチェック
    hat_3 = rakuda_1 ^ rakuda_2
    if hat_3 in new_hats: # 条件を満たすハットが見つかれば
        new_hats.remove(hat_3)
        check_hats(rakuda_2, hat_3, new_hats)
    
# どの組み合わせもダメだった場合
print('No')
sys.exit()