RT
#include <iostream>
using namespace std;
int a[15][15];
int row[15][15],col[15][15],cell[15/3][15/3][15];
bool dfs(int x,int y){
if(x==9) return true;
if(y==9) return dfs(x+1,0);
if(a[x][y]) return dfs(x,y+1);
for(int i=1;i<=9;i++){
if(!row[x][i] && !col[y][i] && !cell[x/3][y/3][i]){
row[x][i]=col[y][i] = cell[x/3][y/3][i]=1;
a[x][y]=i;
if(dfs(x,y+1)) return true;
row[x][i]=col[y][i]=cell[x/3][y/3][i]=0;
a[x][y]=0;
}
}
}
int main(){
for(int i=0;i<9;i++){
for(int j=0;j<9;j++){
cin>>a[i][j];
if(a[i][j]!=0){
row[i][a[i][j]]=1;
col[j][a[i][j]]=1;
cell[i/3][j/3][a[i][j]]=1;
}
}
}
dfs(0,0);
for(int i=0;i<9;i++){
for(int j=0;j<9;j++){
cout<<a[i][j]<<' ';
}
}
return 0;
}