#include<bits/stdc++.h>
using namespace std;
int n,sd[19][19],h[19][19],l[19][19],g[19][19],cnt;
void dfs(int x,int y){
if(cnt<=5){
cout<<endl;
cnt++;
for(int i=0;i<9;i++){
for(int j=0;j<9;j++){
cout<<sd[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
}
//if(x==9){
// for(int i=0;i<9;i++){
// for(int j=0;j<9;j++){
// cout<<sd[i][j]<<" ";
// }
// cout<<endl;
// }
// return;
//}
if(y==9){
dfs(x+1,0);
}
if(sd[x][y]!=0){
dfs(x,y+1);
}
else
for(int i=1;i<=9;i++){
// if(x==1&&y==3&&i==2){
// cout<<h[x][i]<<l[y][i]<<g[x/3*3+y/3][i]<<endl;
// }
if(!h[x][i]&&!l[y][i]&&!g[x/3*3+y/3][i]){
h[x][i]=1;
l[y][i]=1;
g[x/3*3+y/3][i]=1;
sd[x][y]=i;
dfs(x,y+1);
h[x][i]=0;
l[y][i]=0;
g[x/3*3+y/3][i]=0;
sd[x][y]=0;
}
}
}
int main(){
for(int i=0;i<9;i++){
for(int j=0;j<9;j++){
cin>>sd[i][j];
h[i][sd[i][j]]=1;
l[i][sd[i][j]]=1;
g[i/3*3+j/3][sd[i][j]]=1;
}
}
dfs(0,0);
return 0;
}
P1784 数独