#include <bits/stdc++.h>
#include "cave.h"
using namespace std;
const int N = 5050;
int a[N],bi[N],ci[N];
int ask() {
int res = tryCombination(a);
if (res == -1) return 2e9;
return res;
}
void dbg() { cout << "\n"; }
template<typename H, typename... T>
void dbg(H h, T... t) {
cout << h << " ";
dbg(t...);
}
void exploreCave(int n) {
memset(bi,-1,sizeof(bi));
for (int i = 0; i < n; i++) {
int b = 0;
for (int j = 0; j < n; j++) {
if (bi[j] != -1) {
a[j] = bi[j];
continue;
}
a[j] = b;
}
if (ask() > i) b = 1;
for (int j = 0; j < n; j++) {
if (bi[j] != -1) {
a[j] = bi[j];
continue;
}
a[j] = b;
}
int l = 0, r = n-1;
while (l < r) {
int mid = (l+r)/2;
for (int j = l; j <= mid; j++) {
if (bi[j] != -1) continue;
a[j] = 1-b;
}
int x = ask();
for (int j = l; j <= mid; j++) {
if (bi[j] != -1) continue;
a[j] = b;
}
if (x > i) r = mid;
else l = mid+1;
}
bi[l] = 1-b;
ci[l] = i;
// dbg("switch = ",l,"door = ",i,"bit = ",1-b);
}
// for (int i = 0; i < n; i++) cout << bi[i] << " ";
// cout << "\n";
// for (int i = 0; i < n; i++) cout << ci[i] << " ";
answer(bi,ci);
}