#include "doll.h"
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 3e5;
int N;
bool B[MAXN];
vector <int> C, X, Y;
void create_circuit(int M,vector<int> A) {
A.push_back(0);
N = A.size();
while (N > 1) {
for (int i=0;i<((N+1)>>1);i++) {
Y.push_back(~(Y.size()-N+i));
X.push_back(~(Y.size()-N+i));
}
if (N&1) {
X[X.size()-1] = MAXN;
}
N = (N+1)>>1;
}
N = 0;
while (N < A.size()) {
int i = X.size()-1;
while (true) {
if (B[i]^=1) {
if (X[i] == MAXN) {
X[i] = -X.size();
break;
}
if (X[i] >= 0) {
X[i] = A[N];
N++;
break;
}
i = ~X[i];
}
else {
if (Y[i] >= 0) {
Y[i] = A[N];
N++;
break;
}
i = ~Y[i];
}
}
}
for (int i=0;i<=M;i++) {
C.push_back(-X.size());
}
answer(C, X, Y);
}