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 JAVA):

Solution:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import  java .util.*;

public class Solution {

    public static void main(String[] agrs) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int t = Integer.parseInt(br.readLine());
        while (t-- > 0) {
            String s[]=new String[9];
            for(int i=0;i<9;i++)
                s[i]=br.readLine();
            int a[][]=new int[9][];
            for(int i=0;i<9;i++)
            {
                a[i]=new int[9];
                for(int j=0;j<9;j++)
                    a[i][j]=Integer.parseInt(s[i].charAt(j)+"");
            }
            int i=0;
            int j=0;
            if(a[i][j]==9)
                a[i][j]=1;
            else
                a[i][j]++;
            i=3;
            j=1;
            if(a[i][j]==9)
                a[i][j]=1;
            else
                a[i][j]++;
            i=6;
            j=2;
            if(a[i][j]==9)
                a[i][j]=1;
            else
                a[i][j]++;
            i=1;
            j=3;
            if(a[i][j]==9)
                a[i][j]=1;
            else
                a[i][j]++;
            i=4;
            j=4;
            if(a[i][j]==9)
                a[i][j]=1;
            else
                a[i][j]++;
            i=7;
            j=5;
            if(a[i][j]==9)
                a[i][j]=1;
            else
                a[i][j]++;
            i=2;
            j=6;
            if(a[i][j]==9)
                a[i][j]=1;
            else
                a[i][j]++;
            i=5;
            j=7;
            if(a[i][j]==9)
                a[i][j]=1;
            else
                a[i][j]++;
            i=8;
            j=8;
            if(a[i][j]==9)
                a[i][j]=1;
            else
                a[i][j]++;
            for(i=0;i<9;i++)
            {
                for(j=0;j<9;j++)
                    bw.write(a[i][j]+"");
                bw.write("\n");
            }
        }
        bw.flush();
    }
}