#include<bits/stdc++.h>
#include<bitset>
using namespace std;

int binary(int bina){
    int ans = 0;
    for (int i = 0; bina>0 ; i++)
    {
        ans = ans+(bina%2)*pow(10,i);
        bina = bina/2;
    }
    return ans;
}

int main(){
	int N;
	cin>>N;
	
	long long int a[N]={};
	for(int i=0;i<N;i++)
		cin>>a[i];
	
	int b[N];
	for(int i=0;i<N;i++){
		b[i]=binary(a[i]);
	}
	int k[N];
	k[0]=b[N-1]^b[1];
	k[N-1]=b[N-2]^b[0];
	
	/*for(int i=0;i<N;i++){
		cout<<"b["<<i<<"]"<<b[i]<<endl;
	}*/
	
	for(int i=1;i<N-1;i++){
		k[i]=b[i-1]^b[i+1];
	}
	
	for(int i=0;i<N;i++)
		cout<<k[i]<<endl;
	
	int ans[N]={};
	for(int i=0;i<N;i++){
		for(int j=0;j<30;j++){
			ans[i]+=pow(2,j)*(k[i]%10);
			k[i]=k[i]/10;
		}
	}
	
	/*for(int i=0;i<N;i++)
		cout<<ans[i]<<endl;*/
	
	for(int i=0;i<N;i++){
		if(ans[i]!=a[i]){
			cout<<"No";
			return 0;
		}
	}
	
	cout<<"Yes";
	
	return 0;
}