#include "Anna.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define mp make_pair
#define pii pair<int, int>
#define fi first
#define se second
void Anna(int n, vector<char> s){
vector<int> res;
int id=0;
while (id<n&&s[id]!='X')++id;
if (id==n){
Send(0);
return;
}
for (int i=0; i<17; ++i)Send(!!((1<<i)&id));
for (int i=id+1; i<n; ++i){
if (s[i]=='Z'&&(i==n-1||s[i+1]!='Z'))res.pb(1);
else res.pb(0);
}
for (auto a:res)Send(a);
}
#include "Bruno.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define mp make_pair
#define pii pair<int, int>
#define fi first
#define se second
void Bruno(int n, int l, vector<int> a){
if (l==1){
for (int i=0; i<n; ++i)Remove(i);
return;
}
int id=0;
for (int i=0; i<17; ++i)if (a[i])id+=(1<<i);
vector<int> vect(1, id);
for (int i=17; i<a.size(); ++i)if (a[i])vect.pb(id+i-16);
for (int i=0; i<vect[0]; ++i)Remove(i);
Remove(vect[0]+1);
for (int i=vect.back()+1; i<n; ++i)Remove(i);
for (int i=1; i<vect.size(); ++i){
for (int j=vect[i]-1; j>max(vect[i-1], vect[0]+1); --j)Remove(j);
Remove(vect[i]);
}
Remove(vect[0]);
}