Problem: You are given a correct solution of the sudoku puzzle. If you don't know what is the sudoku, you can read about it [here](http://tiny.cc/636xmz).

The picture showing the correct sudoku solution:

<image>

Blocks are bordered with bold black color.

Your task is to change at most 9 elements of this field (i.e. choose some 1 ≤ i, j ≤ 9 and change the number at the position (i, j) to any other number in range [1; 9]) to make it anti-sudoku. The anti-sudoku is the 9 × 9 field, in which:

  * Any number in this field is in range [1; 9]; 
  * each row contains at least two equal elements; 
  * each column contains at least two equal elements; 
  * each 3 × 3 block (you can read what is the block in the link above) contains at least two equal elements. 



It is guaranteed that the answer exists.

You have to answer t independent test cases.

Input

The first line of the input contains one integer t (1 ≤ t ≤ 10^4) — the number of test cases. Then t test cases follow.

Each test case consists of 9 lines, each line consists of 9 characters from 1 to 9 without any whitespaces — the correct solution of the sudoku puzzle.

Output

For each test case, print the answer — the initial field with at most 9 changed elements so that the obtained field is anti-sudoku. If there are several solutions, you can print any. It is guaranteed that the answer exists.

Example

Input


1
154873296
386592714
729641835
863725149
975314628
412968357
631457982
598236471
247189563


Output


154873396
336592714
729645835
863725145
979314628
412958357
631457992
998236471
247789563

Solution (in PYTHON3):

Solution:

import collections


def solve(sudoku):
    # numbersChosen = set()
    # rowsChosen = set()
    # columnsChosen = set()
    # boxChosen = set()

    # for x in range(9):
    #     for y in range(9):
    #         if x not in rowsChosen and y not in columnsChosen and (x, y) not in boxChosen:
    #             for k in range(1, 10):
    #                 if sudoku[x][y] != k and k not in numbersChosen:
    #                     sudoku[x][y] = k
    #                     numbersChosen.add(k)
    #                     rowsChosen.add(x)
    #                     columnsChosen.add(y)

    #                     boxStartingX = x // 3
    #                     boxStartingY = y // 3

    #                     xDex, yDex = boxStartingX * 3, boxStartingY * 3

    #                     for i in range(xDex, xDex + 3):
    #                         for j in range(yDex, yDex + 3):
    #                             boxChosen.add((i, j))

    #                     break

    # for row in sudoku:
    #     print("".join(map(str, row)))

    for i in range(9):
        for j in range(9):
            if sudoku[i][j] == 2:
                sudoku[i][j] = 1

    for row in sudoku:
        print("".join(map(str, row)))


t = int(input().strip())
# [n,m] = list(map(int, input().strip().split()))

for i in range(t):
    sudoku = []

    for _ in range(9):
        sudoku.append([int(ch) for ch in input().strip()])

    solve(sudoku)