using System;
using System.Collections.Generic;//list用
using System.Collections;
using System.Linq;
class Program
{
    static List<int> s = new List<int>();
    static List<int> t = new List<int>();
    static decimal result;
static int N;
    static void Main()
    {
Read1();
Read2();
   //全ケタが３つ周期になるはず    

      t.Add(s[0]);
for(int i=1;i<N;i++){for(int j=0;j<t.Count;j++){if(t[j]==s[i]){break;}if(j==t.Count-1){t.Add(s[i]);}}}
      //全0は例外的にＯＫ。
for(int i=0;i<N;i++){if(s[i]!=0){break;}if(i==N-1){Console.WriteLine("Yes");return;}}
//３つでなきゃおかしい
      if(t.Count!=3){Console.WriteLine("No");return;}
//各ケタの周期が011,101,110,000のどれか(つまり合計０)になればＯＫ。
      if((t[0]^t[1]^t[2])==0){Console.WriteLine("Yes");return;}else{Console.WriteLine("No");return;}


    }

    static void Read1()
    {
        string tmp = Console.ReadLine();
        N = int.Parse(tmp);
    }

    static void Read2()
    {
        string[] tmp=Console.ReadLine().Split(' ');
      for(int i=0;i<N;i++)
      {
        s.Add(int.Parse(tmp[i]));
      }
    }
}