def myprint(matrix):
    for i in range(9):
        print(" ".join(list(map(str,matrix[i]))))

def find_zeros(matrix):
    result = []
    for i in range(9):
        for j in range(9):
            if matrix[i][j] == 0:
                result.append([i,j])
    return result

def isend(matrix):
    for l in matrix:
        if 0 in l:
            return False
    return True

def find_neighbors(matrix,i,j):
    result = []
    result.append(matrix[i])
    result.append([matrix[k][j] for k in range(9)])
    result.append([matrix[k][l] for k in range((i//3)*3,(i//3)*3+3) \
        for l in range((j//3)*3,(j//3)*3+3)])
    return result

def dfs(matrix, zeros):
    if not zeros:
        myprint(matrix)
        return -1
    n, now = len(zeros), zeros[0]
    neibor = find_neighbors(matrix,now[0],now[1])
    for i in range(1,10):
        if i not in neibor[0] and i not in neibor[1] and i not in neibor[2]:
            matrix[now[0]][now[1]] = i
            y = dfs(matrix, zeros[1:n])
            if y == 0:
                matrix[now[0]][now[1]] = 0
                continue
    return 0


matrix = []
for i in range(9):
    s = list(map(int,input().split()))
    matrix.append(s)

dfs(matrix, find_zeros(matrix))