#pragma GCC optimize ("Ofast")
#include<bits/stdc++.h>
using namespace std;
inline int my_getchar_unlocked(){
static char buf[1048576];
static int s = 1048576;
static int e = 1048576;
if(s == e && e == 1048576){
e = fread_unlocked(buf, 1, 1048576, stdin);
s = 0;
}
if(s == e){
return EOF;
}
return buf[s++];
}
inline void rd(int &x){
int k;
int m=0;
x=0;
for(;;){
k = my_getchar_unlocked();
if(k=='-'){
m=1;
break;
}
if('0'<=k&&k<='9'){
x=k-'0';
break;
}
}
for(;;){
k = my_getchar_unlocked();
if(k<'0'||k>'9'){
break;
}
x=x*10+k-'0';
}
if(m){
x=-x;
}
}
inline void rd(long long &x){
int k;
int m=0;
x=0;
for(;;){
k = my_getchar_unlocked();
if(k=='-'){
m=1;
break;
}
if('0'<=k&&k<='9'){
x=k-'0';
break;
}
}
for(;;){
k = my_getchar_unlocked();
if(k<'0'||k>'9'){
break;
}
x=x*10+k-'0';
}
if(m){
x=-x;
}
}
struct MY_WRITER{
char buf[1048576];
int s;
int e;
MY_WRITER(){
s = 0;
e = 1048576;
}
~MY_WRITER(){
if(s){
fwrite_unlocked(buf, 1, s, stdout);
}
}
}
;
MY_WRITER MY_WRITER_VAR;
void my_putchar_unlocked(int a){
if(MY_WRITER_VAR.s == MY_WRITER_VAR.e){
fwrite_unlocked(MY_WRITER_VAR.buf, 1, MY_WRITER_VAR.s, stdout);
MY_WRITER_VAR.s = 0;
}
MY_WRITER_VAR.buf[MY_WRITER_VAR.s++] = a;
}
inline void wt_L(char a){
my_putchar_unlocked(a);
}
inline void wt_L(const char c[]){
int i=0;
for(i=0;c[i]!='\0';i++){
my_putchar_unlocked(c[i]);
}
}
int N;
long long A[3000];
int main(){
int i;
long long x = 0;
long long t;
long long s;
rd(N);
{
int Lj4PdHRW;
for(Lj4PdHRW=(0);Lj4PdHRW<(N);Lj4PdHRW++){
rd(A[Lj4PdHRW]);
}
}
for(i=(0);i<(N);i++){
x ^= A[i];
}
for(i=(0);i<(N);i++){
int j;
for(j=(i+1);j<(N);j++){
t = (x ^ A[i] ^ A[j]);
s = A[i] + A[j];
if( (s-t)%2 == 0 && (((s-t)/2) & t) == 0 ){
wt_L("Yes");
wt_L('\n');
return 0;
}
}
}
wt_L("No");
wt_L('\n');
return 0;
}
// cLay version 20201123-1
// --- original code ---
// int N; ll A[3000];
// {
// ll x = 0, t, s;
// rd(N,A(N));
// rep(i,N) x ^= A[i];
// rep(i,N) rep(j,i+1,N){
// t = (x ^ A[i] ^ A[j]);
// s = A[i] + A[j];
// if( (s-t)%2 == 0 && (((s-t)/2) & t) == 0 ) wt("Yes"), return 0;
// }
// wt("No");
// }
I3ByYWdtYSBHQ0Mgb3B0aW1pemUgKCJPZmFzdCIpCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmlubGluZSBpbnQgbXlfZ2V0Y2hhcl91bmxvY2tlZCgpewogIHN0YXRpYyBjaGFyIGJ1ZlsxMDQ4NTc2XTsKICBzdGF0aWMgaW50IHMgPSAxMDQ4NTc2OwogIHN0YXRpYyBpbnQgZSA9IDEwNDg1NzY7CiAgaWYocyA9PSBlICYmIGUgPT0gMTA0ODU3Nil7CiAgICBlID0gZnJlYWRfdW5sb2NrZWQoYnVmLCAxLCAxMDQ4NTc2LCBzdGRpbik7CiAgICBzID0gMDsKICB9CiAgaWYocyA9PSBlKXsKICAgIHJldHVybiBFT0Y7CiAgfQogIHJldHVybiBidWZbcysrXTsKfQppbmxpbmUgdm9pZCByZChpbnQgJngpewogIGludCBrOwogIGludCBtPTA7CiAgeD0wOwogIGZvcig7Oyl7CiAgICBrID0gbXlfZ2V0Y2hhcl91bmxvY2tlZCgpOwogICAgaWYoaz09Jy0nKXsKICAgICAgbT0xOwogICAgICBicmVhazsKICAgIH0KICAgIGlmKCcwJzw9ayYmazw9JzknKXsKICAgICAgeD1rLScwJzsKICAgICAgYnJlYWs7CiAgICB9CiAgfQogIGZvcig7Oyl7CiAgICBrID0gbXlfZ2V0Y2hhcl91bmxvY2tlZCgpOwogICAgaWYoazwnMCd8fGs+JzknKXsKICAgICAgYnJlYWs7CiAgICB9CiAgICB4PXgqMTAray0nMCc7CiAgfQogIGlmKG0pewogICAgeD0teDsKICB9Cn0KaW5saW5lIHZvaWQgcmQobG9uZyBsb25nICZ4KXsKICBpbnQgazsKICBpbnQgbT0wOwogIHg9MDsKICBmb3IoOzspewogICAgayA9IG15X2dldGNoYXJfdW5sb2NrZWQoKTsKICAgIGlmKGs9PSctJyl7CiAgICAgIG09MTsKICAgICAgYnJlYWs7CiAgICB9CiAgICBpZignMCc8PWsmJms8PSc5Jyl7CiAgICAgIHg9ay0nMCc7CiAgICAgIGJyZWFrOwogICAgfQogIH0KICBmb3IoOzspewogICAgayA9IG15X2dldGNoYXJfdW5sb2NrZWQoKTsKICAgIGlmKGs8JzAnfHxrPic5Jyl7CiAgICAgIGJyZWFrOwogICAgfQogICAgeD14KjEwK2stJzAnOwogIH0KICBpZihtKXsKICAgIHg9LXg7CiAgfQp9CnN0cnVjdCBNWV9XUklURVJ7CiAgY2hhciBidWZbMTA0ODU3Nl07CiAgaW50IHM7CiAgaW50IGU7CiAgTVlfV1JJVEVSKCl7CiAgICBzID0gMDsKICAgIGUgPSAxMDQ4NTc2OwogIH0KICB+TVlfV1JJVEVSKCl7CiAgICBpZihzKXsKICAgICAgZndyaXRlX3VubG9ja2VkKGJ1ZiwgMSwgcywgc3Rkb3V0KTsKICAgIH0KICB9Cn0KOwpNWV9XUklURVIgTVlfV1JJVEVSX1ZBUjsKdm9pZCBteV9wdXRjaGFyX3VubG9ja2VkKGludCBhKXsKICBpZihNWV9XUklURVJfVkFSLnMgPT0gTVlfV1JJVEVSX1ZBUi5lKXsKICAgIGZ3cml0ZV91bmxvY2tlZChNWV9XUklURVJfVkFSLmJ1ZiwgMSwgTVlfV1JJVEVSX1ZBUi5zLCBzdGRvdXQpOwogICAgTVlfV1JJVEVSX1ZBUi5zID0gMDsKICB9CiAgTVlfV1JJVEVSX1ZBUi5idWZbTVlfV1JJVEVSX1ZBUi5zKytdID0gYTsKfQppbmxpbmUgdm9pZCB3dF9MKGNoYXIgYSl7CiAgbXlfcHV0Y2hhcl91bmxvY2tlZChhKTsKfQppbmxpbmUgdm9pZCB3dF9MKGNvbnN0IGNoYXIgY1tdKXsKICBpbnQgaT0wOwogIGZvcihpPTA7Y1tpXSE9J1wwJztpKyspewogICAgbXlfcHV0Y2hhcl91bmxvY2tlZChjW2ldKTsKICB9Cn0KaW50IE47CmxvbmcgbG9uZyBBWzMwMDBdOwppbnQgbWFpbigpewogIGludCBpOwogIGxvbmcgbG9uZyB4ID0gMDsKICBsb25nIGxvbmcgdDsKICBsb25nIGxvbmcgczsKICByZChOKTsKICB7CiAgICBpbnQgTGo0UGRIUlc7CiAgICBmb3IoTGo0UGRIUlc9KDApO0xqNFBkSFJXPChOKTtMajRQZEhSVysrKXsKICAgICAgcmQoQVtMajRQZEhSV10pOwogICAgfQogIH0KICBmb3IoaT0oMCk7aTwoTik7aSsrKXsKICAgIHggXj0gQVtpXTsKICB9CiAgZm9yKGk9KDApO2k8KE4pO2krKyl7CiAgICBpbnQgajsKICAgIGZvcihqPShpKzEpO2o8KE4pO2orKyl7CiAgICAgIHQgPSAoeCBeIEFbaV0gXiBBW2pdKTsKICAgICAgcyA9IEFbaV0gKyBBW2pdOwogICAgICBpZiggKHMtdCklMiA9PSAwICYmICgoKHMtdCkvMikgJiB0KSA9PSAwICl7CiAgICAgICAgd3RfTCgiWWVzIik7CiAgICAgICAgd3RfTCgnXG4nKTsKICAgICAgICByZXR1cm4gMDsKICAgICAgfQogICAgfQogIH0KICB3dF9MKCJObyIpOwogIHd0X0woJ1xuJyk7CiAgcmV0dXJuIDA7Cn0KLy8gY0xheSB2ZXJzaW9uIDIwMjAxMTIzLTEKCi8vIC0tLSBvcmlnaW5hbCBjb2RlIC0tLQovLyBpbnQgTjsgbGwgQVszMDAwXTsKLy8gewovLyAgIGxsIHggPSAwLCB0LCBzOwovLyAgIHJkKE4sQShOKSk7Ci8vICAgcmVwKGksTikgeCBePSBBW2ldOwovLyAgIHJlcChpLE4pIHJlcChqLGkrMSxOKXsKLy8gICAgIHQgPSAoeCBeIEFbaV0gXiBBW2pdKTsKLy8gICAgIHMgPSBBW2ldICsgQVtqXTsKLy8gICAgIGlmKCAocy10KSUyID09IDAgJiYgKCgocy10KS8yKSAmIHQpID09IDAgKSB3dCgiWWVzIiksIHJldHVybiAwOwovLyAgIH0KLy8gICB3dCgiTm8iKTsKLy8gfQo=