#include"Annalib.h"
#include<bits/stdc++.h>
using namespace std;
bool ck[222],ans[222];
void Anna(int N,long long X,int K,int P[])
{
int cx=0,cy=0;
for(int i=0;i<=60;i++) cx+=((X>>i)%2);
long long inf=0;
if(cx>61-cx)
{
inf=0;
for(int i=0;i<60;i++) inf=inf*2+((X>>i)%2);
}
else
{
inf=1;
for(int i=0;i<60;i++) inf=inf*2+(1-(X>>i)%2);
}
int st=0;
for(int i=0;i<K;i++) ck[P[i]]=true;
for(int i=0;i<N;i++) if(!ck[i])
{
st=i;
break;
}
ans[st]=true;
for(int i=60;i+1;i--)
{
int nex=st+1;
if(!((inf>>i)%2)) nex=st+2;
while(ck[nex]) nex+=2;
ans[nex]=true,st=nex;
}
for(int i=0;i<N;i++) Set(i,ans[i]);
for(int i=0;i<N;i++) ck[i]=ans[i]=false;
}
#include"Brunolib.h"
#include<bits/stdc++.h>
using namespace std;
long long Bruno(int N,int A[])
{
long long ans=0;
int st=-1,cc=0;
for(int i=N-1;i+1&&cc<62;i--) if(A[i])
{
cc++;
if(st==-1) st=i;
else ans=ans*2+(st-i)%2,st=i;
}
if(ans%2==0) ans/=2;
else ans=((ans/2)^((1LL<<60)-1));
return ans;
}