#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int a[10][10];
bool x[1001],y[1001],row[1001],vis[1001][1001];
bool check(int m,int n){
return !x[m] && !y[n] && !row[n - m + 8] && !vis[m][n];
}
void dfs(int now){
if(now == 9){
for(int i = 1; i <= 8; i++){
for(int j = 1; j <= 8; j++){
cout << a[i][j];
}
cout << endl;
}
memset(a,0,sizeof(a));
return;
}
for(int i = 1; i <= 8; i++){
for (int j = 1; j <= 8; j++){
if(check(i,j)){
x[i] = y[j] = row[j - i + 8] = vis[i][j] = a[i][j] = 1;
dfs(now + 1);
x[i] = y[j] = row[j - i + 8] = vis[i][j] = a[i][j] = 0;
}
}
}
}
int main(){
dfs(0);
return 0;
}