#include <bits/stdc++.h>
#include <iostream>
#include <vector>
#include <string>
#include <numeric>
#include <iostream>
#include <cmath>
#include <algorithm>
#include <iomanip>
#include <queue>

#define rep(i,n) for(int i=0;i<n;i++)
using namespace std;
typedef long long ll;

int main() {
	// input
	int N;
	cin >> N;
	vector<int> a(N);

	rep(i, N) cin >> a[i];
	sort(a.begin(), a.end());

	// 全て0
	int num0=0;
	int numM=0;
	rep(i, N) {
		if(a[i]==0) num0++;
		else if(a[i]==a[N-1]) numM++;
	}
	if(num0==N) {
		cout << "Yes" << endl;
		return 0;
	}

	if(N%3>0) {
		cout << "No" << endl;
		return 0;
	}
	// N/3枚が0, のこりがx
	if(N/3==num0 && 2*N/3==numM) {
		cout << "Yes" << endl;
		return 0;
	}

	// uniqueな数
	vector<int> c(N);
	copy(a.begin(), a.end(), c.begin());
	c.erase( unique(c.begin(), c.end()), c.end());
	if(c.size()==3 && c[0]^c[1]^c[2]==0) {
		int c1=0, c2=0, c3=0;
		rep(i, N) {
			if(c[0]==a[i]) c1++;
			else if(c[1]==a[i]) c2++;
			else (c[2]==a[i]) c3++;
		}
		if(c1==c2 && c2==c3) {
			cout << "Yes" << endl;
			return 0;
		} else {
			cout << "No" << endl;
			return 0;
		}

	} else {
		cout << "No" << endl;
		return 0;
	}

	return 0;
}