653f49eb5931036a5b9ba585c051bc1bf6cb13fb910807e7fc292d0133a32998
// https://szkopul.edu.pl/problemset/problem/XohnjCYDF5fc5AwAXpRHOZKr/site/?key=statement
#include <bits/stdc++.h>
#include "zerlib.h"
std::vector<int> a;
void local(int a1, int i, int j) {
if (a1 == 2) {
a[i] = 1;
a[j] = 1;
} else {
a[i] = 0;
a[j] = 0;
}
}
int main() {
int n;
n = daj_n();
a.resize(n);
for (auto& b : a) {
b = -1;
}
int a1 = suma(0, 1);
if (a1 == 1) {
int a2 = suma(1, 2);
if (a2 == 1) {
int a3 = suma(0, 2);
local(a3, 0, 2);
if (a3 == 0) {
a[1] = 1;
} else {
a[1] = 0;
}
} else {
local(a2, 1, 2);
if (a2 == 0) {
a[0] = 1;
} else {
a[0] = 0;
}
}
} else {
local(a1, 0, 1);
}
for (int i = 0; i < n; i++) {
if (a[i] != -1) continue;
int b = suma(0, i);
if (b == 0) {
a[i] = 0;
} else if (b == 1) {
if (a[0] == 0) {
a[i] = 1;
} else {
a[i] = 0;
}
} else if (b == 2) {
a[i] = 1;
}
}
odpowiedz(a);
}