#include<stdio.h>
#include<stdlib.h>
bool R[10][10], C[10][10], B[3][3][10];
int A[9][9], flag = 0;
void f(int a, int b)
{
    int i, j;
    if( A[a][b] == 0 )
    {
        if( a == 9 ){
        flag++;
        for( i = 0 ; i < 9 ; i++, puts("")) for( j = 0 ; j < 9 ; j++ )
         printf("%d ", A[i][j]);
            return;
        }
        for( i = 1 ; i < 10 ; i++ )
            if( !R[a][i] && !C[b][i] && !B[a/3][b/3][i] )
            {
                R[a][i] = C[b][i] = B[a/3][b/3][i] = true;
                A[a][b] = i;
                f( a+((b+1)/9), (b+1)%9 );
                A[a][b] = 0;
                R[a][i] = C[b][i] = B[a/3][b/3][i] = false;
            }
    }
    else f(a+((b+1)/9),(b+1)%9);
}
int main()
{
    int i, j;
    freopen(".11.in","r",stdin);
    freopen(".11.out","w",stdout);
    for( i = 0 ; i < 9 ; i++ ) for( j = 0 ; j < 9 ; j++ )
    {
        scanf("%d", &A[i][j]);
        R[i][A[i][j]] = C[j][A[i][j]] = B[i/3][j/3][A[i][j]] = true;
    }
    f(0,0);
    if( !flag ) puts("impossible");
    else if( flag == 1 )
    {
	 	 for( i = 0 ; i < 9 ; i++, puts("")) for( j = 0 ; j < 9 ; j++ )
         printf("%d ", A[i][j]);
    }
    else printf("%d\n", flag);
}
