//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);
}