#include<bits/stdc++.h>
using namespace std;
int a[10][10];
bool b[10][10][10];
int c[10][10]=
{
0,0,0,0,0,0,0,0,0,0,
0,1,1,1,2,2,2,3,3,3,
0,1,1,1,2,2,2,3,3,3,
0,1,1,1,2,2,2,3,3,3,
0,4,4,4,5,5,5,6,6,6,
0,4,4,4,5,5,5,6,6,6,
0,4,4,4,5,5,5,6,6,6,
0,7,7,7,8,8,8,9,9,9,
0,7,7,7,8,8,8,9,9,9,
0,7,7,7,8,8,8,9,9,9,
};
void add(int nbr,int x,int y);
void jian(int nbr,int x,int y);
void pd()
{
for(int i=1;i<=9;i++)
{
for(int j=1;j<=9;j++)
{
cout<<a[i][j]<<' ';
}
cout<<endl;
}
cout<<endl;
for(int i=1;i<=9;i++)
{
for(int j=1;j<=9;j++)
{
int sum=0;
for(int k=1;k<=9;k++)
sum+=b[i][j][k];
cout<<sum<<' ';
}
cout<<endl;
}
}
void dfs(int xi,int x,int y)
{
int x=(xi-1)/9+1;
int y=(xi-1)%9+1;
// cout<<xi<<' '<<x<<' '<<y<<endl;
if(xi>81)
{
pd();
exit(0);
return ;
}
else if(a[x][y]==0)
{
for(int i=1;i<=9;i++)
{
if(b[x][y][i]==0)
{
a[x][y]=i;
add(i,x,y);
/// xi++;
dfs(xi+1);
/// xi--;
jian(i,x,y);
a[x][y]=0;
}
}
}
else dfs(xi+1);
}
int main()
{
for(int i=1;i<=9;i++)
for(int j=1;j<=9;j++)
{
cin>>a[i][j];
if(a[i][j])
add(a[i][j],i,j);
}
dfs(1);
return 0;
}
void add(int nbr,int x,int y)
{
for(int i=1;i<=9;i++)
{
b[i][y][nbr]=1;
b[x][i][nbr]=1;
}
int p=c[x][y];
cout<<p<<endl;
for(int i=1;i<=9;i++)
for(int j=1;j<=9;j++)
if(c[i][j]==p)
{
b[i][j][nbr]=1;
}
}
void jian(int nbr,int x,int y)
{
for(int i=1;i<=9;i++)
{
b[i][y][nbr]=0;
b[x][i][nbr]=0;
}
int p=c[x][y];
cout<<p<<endl;
for(int i=1;i<=9;i++)
for(int j=1;j<=9;j++)
if(c[i][j]==p)
{
b[i][j][nbr]=0;
}
}