#pragma GCC optimize ("O3","unroll-loops") #pragma GCC target("avx512f") #include using namespace std; using ull = unsigned long long; int main(){ int n; scanf("%d", &n); n = 1 << n; ull a[n]; for(int i = 0; i < n; i++) scanf("%llu", &a[i]); if(a[0]){ puts("No"); return 0; } for(register int i = 0; i < n; i++){ register ull b = a[i]; for(register int j = 0; j < i; j++){ if(b ^ a[i ^ j] ^ a[j]){ puts("No"); return 0; } } } puts("Yes"); }