#include <bits/stdc++.h>
#include "messy.h"
using namespace std;
vector<int> restore_permutation(int n, int w, int r) {
vector <int> ans(n); // a[i] = a[p[i]]
string s = ""; for (int i = 0; i < n; i++) s += '0';
// cout << s << "\n";
for (int i = 0; i < n - 1; i++) {
s[i] = '1';
// cout << s << "\n";
add_element(s);
}
compile_set();
string pre = ""; for (int i = 0; i < n; i++) pre += '0';
vector <bool> visited(n);
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n; j++) {
if (pre[j] == '1') continue;
pre[j] = '1';
// cout << pre << "\n";
if (check_element(pre)) {
ans[j] = i;
visited[j] = 1;
break;
}
pre[j] = '0';
}
}
for (int i = 0; i < n; i++) if (!visited[i]) ans[i] = n - 1;
// for (int i = 0; i < n; i++) cout << ans[i] << " "; cout << "\n";
return ans;
}