#include<bits/stdc++.h>
using namespace std;
int a[10][10],sx,sy,cnt,h[10][10],l[10][10],g[10][10];
bool b;
void dfs(int x,int y,int g){
if(b==1){
return;
}
if(g==81){
for(int i=1;i<=9;i++){
for(int j=1;j<=9;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
b=1;
return;
}
if(a[x][y]!=0){
if(y!=9){
dfs(x,y+1,g);
}else{
dfs(x+1,1,g);
}
return;
}
for(int i=1;i<=9;i++){
if(h[x][i]==0&&l[y][i]==0){
if(x>=1&&x<=3&&y>=1&&y<=3&&g[1][i]==0){
a[x][y]=i;
if(y!=9){
dfs(x,y+1,g+1);
}else{
dfs(x+1,1,g+1);
}
a[x][y]=0;
}else if(x>=1&&x<=3&&y>=4&&y<=6&&g[2][i]==0){
a[x][y]=i;
if(y!=9){
dfs(x,y+1,g+1);
}else{
dfs(x+1,1,g+1);
}
a[x][y]=0;
}else if(x>=1&&x<=3&&y>=7&&y<=9&&g[3][i]==0){
a[x][y]=i;
if(y!=9){
dfs(x,y+1,g+1);
}else{
dfs(x+1,1,g+1);
}
a[x][y]=0;
}else if(x>=4&&x<=6&&y>=1&&y<=3&&g[4][i]==0){
a[x][y]=i;
if(y!=9){
dfs(x,y+1,g+1);
}else{
dfs(x+1,1,g+1);
}
a[x][y]=0;
}else if(x>=4&&x<=6&&y>=4&&y<=6&&g[5][i]==0){
a[x][y]=i;
if(y!=9){
dfs(x,y+1,g+1);
}else{
dfs(x+1,1,g+1);
}
a[x][y]=0;
}else if(x>=4&&x<=6&&y>=7&&y<=9&&g[6][i]==0){
a[x][y]=i;
if(y!=9){
dfs(x,y+1,g+1);
}else{
dfs(x+1,1,g+1);
}
a[x][y]=0;
}else if(x>=7&&x<=9&&y>=1&&y<=3&&g[7][i]==0){
a[x][y]=i;
if(y!=9){
dfs(x,y+1,g+1);
}else{
dfs(x+1,1,g+1);
}
a[x][y]=0;
}else if(x>=7&&x<=9&&y>=4&&y<=6&&g[8][i]==0){
a[x][y]=i;
if(y!=9){
dfs(x,y+1,g+1);
}else{
dfs(x+1,1,g+1);
}
a[x][y]=0;
}else if(g[9][i]==0){
a[x][y]=i;
if(y!=9){
dfs(x,y+1,g+1);
}else{
dfs(x+1,1,g+1);
}
a[x][y]=0;
}
}
}
}
int main(){
for(int i=1;i<=9;i++){
for(int j=1;j<=9;j++){
cin>>a[i][j];
if(a[i][j]==0){
sx=i;
sy=j;
}else{
cnt++;
h[i][a[i][j]]=1;
l[j][a[i][j]]=1;
if(i>=1&&i<=3&&j>=1&&j<=3){
g[1][a[i][j]]=1;
}else if(i>=1&&i<=3&&j>=4&&j<=6){
g[2][a[i][j]]=1;
}else if(i>=1&&i<=3&&j>=7&&j<=9){
g[3][a[i][j]]=1;
}else if(i>=4&&i<=6&&j>=1&&j<=3){
g[4][a[i][j]]=1;
}else if(i>=4&&i<=6&&j>=4&&j<=6){
g[5][a[i][j]]=1;
}else if(i>=4&&i<=6&&j>=7&&j<=9){
g[6][a[i][j]]=1;
}else if(i>=7&&i<=9&&j>=1&&j<=3){
g[7][a[i][j]]=1;
}else if(i>=7&&i<=9&&j>=4&&j<=6){
g[8][a[i][j]]=1;
}else{
g[9][a[i][j]]=1;
}
}
}
}
dfs(sx,sy,cnt);
return 0;
}