#include <bits/stdc++.h>
using namespace std;
const int N = 30;
int g[N];
bool col[N], dg[N], udg[N];
int b;
int n = 8;
int cnt;
vector<string> res;
void dfs(int u){
if (u == n){
string str;
for (int i=0; i<n; i++){
str.push_back(g[i] + '0');
}
res.push_back(str);
cnt++;
return;
}
int x = u;
for (int y=0; y<n; y++){
if (!col[y] && !dg[x-y+n] && !udg[y+x]) {
col[y] = dg[x-y+n] = udg[y+x] = true;
g[x] = y+1;
dfs(u+1);
g[x] = 0;
col[y] = dg[x-y+n] = udg[y+x] = false;
}
}
}
int main() {
dfs(0);
int b;
// sort(res.begin(), res.end());
while (cin >> b){
cout << res[b-1] << endl;
}
return 0;
}