//geoff beresford
//barrington high school
//sudoku
#include <stdio.h>
#include <stdlib.h>
void doit();
int main()
{
// int i;
// for (i=0; i<5; i++)
doit();
return 0;
}
void doit()
{
int board[9][9];
int possib[9];
int i,j,k, a, b, c, r;
FILE * fin;
fin = stdin;//fopen("bah.in", "r");
a=0;
for(i=0;i<9;i++)
{
for(j=0;j<9;j++)
{
fscanf(fin,"%d", &a);
board[i][j]= a;
}
}
r=1;
while(r)
{
r=0;
for(i=0;i<9;i++)
{
for(j=0;j<9;j++)
{
if( ! (board[i][j]))
{
for(k=0;k<9;k++)
possib[k]=1;
for(k=0;k<9;k++)
if(board[i][k])
possib[board[i][k]-1] = 0;
for(k=0;k<9;k++)
if(board[k][j])
possib[board[k][j]-1] = 0;
a= i / 3;
b = j/3;
for(k=0; k<3;k++)
for(c=0;c<3;c++)
if(board[a*3+k][b*3+c])
possib[board[a*3+k][b*3+c]-1] = 0;
a=0;
b=0;
for(k=0;k<9;k++)
{
if(possib[k])
{
a++;
b=k;
}
}
if ( a == 1)
{
r=1;
board[i][j] = b+1;
}
//induction
}
}
}
// printf("^ %d \n", r);
for(i=0;i<9;i++)
{
for(j=0;j<9;j++)
{
// printf("%d ", board[i][j]);
}
/// printf("\n");
}
}
for(i=0;i<5;i++)
{
scanf("%d", &a);
for(j=0;j<9;j++)
{
printf("%d ", board[a-1][j]);
}
printf("\n");
}
fclose(fin);
}