#include <stdio.h>
#include <stdlib.h>

#define swap(type,x,y) do{type t=x; x=y; y=t;}while(0)

int xor(long a[],long n){
  long i,j;

  for(i=2;i<n;i++){
    for(j=i;j<n;j++){
      if(a[j]==(a[i-1]^a[i-2])){
        swap(long,a[j],a[i]);
      }else{
        return -1;
      }
      if(a[0]!=(a[n-2]^a[n-1])){
        return -1;
      }
    }
  }

  return 1;
}

int main(void){
  long i,j;

  long n;
  scanf("%ld",&n);

  long a[n];
  for(i=0;i<n;i++){
    scanf("%ld",&a[i]);
  }

  long ans[n];
  for(i=1;i<n;i++){
    for(j=0;j<n;j++){
      ans[j]=a[j];
    }
    swap(long,ans[1],ans[i]);
    if(xor(ans,n)==1){
      printf("Yes\n");
      exit(0);
    }
  }

  printf("No\n");

  return 0;
}
