#include<bits/stdc++.h>
using namespace std;
int a[10][10],f,w,v;
inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
inline void dfs(int i,int j){
if(i==10&&j==1){
for(int i=1;i<=9;i++){
for(int j=1;j<=9;j++) printf("%d ",a[i][j]);
printf("\n");
}
exit(0);
}
if(a[i][j]==0){
for(int h=1;h<=9;h++){
f=0;
for(int m=1;m<=9;m++) if(a[i][m]==h){f=1;break;}
if(f==0){
for(int m=1;m<=9;m++) if(a[m][j]==h){f=1;break;}
if(f==0){
w=i,v=j;
while (w%3!=1) w--;
while (v%3!=1) v--;
for(int y=w;y<=w+2;y++){
for(int z=v;z<=v+2;z++) if(a[y][z]==h){f=1;break;}
}
if(f==0){
a[i][j]=h;
if(j+1>9) dfs(i+1,1),a[i][j]=0;
else dfs(i,j+1),a[i][j]=0;
}
}
}
}
}
else{
if(j+1>9) dfs(i+1,1);
else dfs(i,j+1);
}
}
int main(){
for(int i=1;i<=9;i++) for(int j=1;j<=9;j++) a[i][j]=read();
dfs(1,1);
}