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.util.*;
import java.lang.Math;

public class codeforce{

	public static void main(String args[]){
		Scanner sj = new Scanner(System.in);
		int t = sj.nextInt();
		while(t-->0){
			String str[] = new String[9];
			for(int i=0;i<9;i++){
				str[i] = sj.next();
			}
			char c = str[0].charAt(6);
			StringBuilder s = new StringBuilder(str[0]);
			s.setCharAt(8, c);
			str[0] = s.toString();

			c = str[1].charAt(3);
			s = new StringBuilder(str[1]);
			s.setCharAt(5, c);
			str[1] = s.toString();

			c = str[2].charAt(0);
			s = new StringBuilder(str[2]);
			s.setCharAt(2, c);
			str[2] = s.toString();

			c = str[3].charAt(8);
			s = new StringBuilder(str[3]);
			s.setCharAt(7, c);
			str[3] = s.toString();			

			c = str[4].charAt(5);
			s = new StringBuilder(str[4]);
			s.setCharAt(4, c);
			str[4] = s.toString();

			c = str[5].charAt(2);
			s = new StringBuilder(str[5]);
			s.setCharAt(1, c);
			str[5] = s.toString();

			c = str[6].charAt(7);
			s = new StringBuilder(str[6]);
			s.setCharAt(6, c);
			str[6] = s.toString();

			c = str[7].charAt(4);
			s = new StringBuilder(str[7]);
			s.setCharAt(3, c);
			str[7] = s.toString();

			c = str[8].charAt(1);
			s = new StringBuilder(str[8]);
			s.setCharAt(0, c);
			str[8] = s.toString();

			// c[8][0] = c[8][1];
			// c[5][1] = c[5][2];
			// c[2][2] = c[2][0];
			// c[7][3] = c[7][4];
			// c[4][4] = c[4][5];
			// c[1][5] = c[1][3];
			// c[6][6] = c[6][7];
			// c[3][7] = c[3][8];
			// c[0][8] = c[0][6];
			for(int i=0;i<9;i++){
				System.out.println(str[i]);
			}
		}
	}

}