#include "Annalib.h"
#include <bits/stdc++.h>
using namespace std;
void Anna( int N, long long X, int K, int P[] ){
vector<bool> ch(N,true);
for (int i=0;i<K;i++) {
ch[P[i]] = false;
}
vector<int> p(N);
iota(p.begin(),p.end(),0);
mt19937 rd(0);
shuffle(p.begin(),p.end(),rd);
vector<bool> res(N,0);
for (int i=0;i<N && X;i+=2) {
if (!ch[p[i]] && !ch[p[i+1]]) continue;
if (X % 3 == 1) {
if (ch[p[i + 1]]) {
res[p[i + 1]] = true;
X /= 3;
}
}
else if (X % 3 == 2) {
if (ch[p[i+1]] && ch[p[i]]) {
res[p[i]] = res[p[i+1]] = true;
X /= 3;
}
}
else {
if (ch[p[i]]) {
res[p[i]] = true;
X /= 3;
}
}
}
for (int i=0;i<N;i++) Set(i,res[i]);
}
#include "Brunolib.h"
#include <bits/stdc++.h>
using namespace std;
long long Bruno( int N, int A[] ){
vector<int> p(N);
iota(p.begin(),p.end(),0);
mt19937 rd(0);
shuffle(p.begin(),p.end(),rd);
long long X = 0;
for (int i=N-2;i>=0;i-=2) {
if (!A[p[i]] && !A[p[i+1]]) continue;
X *= 3;
if (A[p[i+1]]) {
X++;
if (A[p[i]]) X++;
}
}
return X;
// return 0LL;
}