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:
//package codeforces._634;

import java.io.*;
import java.util.StringTokenizer;

public class _634_D {

    public static void main (String[] args) throws Exception {

        String s = "1\n" +
                "154873296\n" +
                "386592714\n" +
                "729641835\n" +
                "863725149\n" +
                "975314628\n" +
                "412968357\n" +
                "631457982\n" +
                "598236471\n" +
                "247189563\n";

//        String s = "2\n" +
//                "154873296\n" +
//                "386592714\n" +
//                "729641835\n" +
//                "863725149\n" +
//                "975314628\n" +
//                "412968357\n" +
//                "631457982\n" +
//                "598236471\n" +
//                "247189563\n" +
//                "154873296\n" +
//                "386592714\n" +
//                "729641835\n" +
//                "863725149\n" +
//                "975314628\n" +
//                "412968357\n" +
//                "631457982\n" +
//                "598236471\n" +
//                "247189563\n";

//        br = new BufferedReader(new StringReader(s));
        br = new BufferedReader(new InputStreamReader(System.in));
        bw = new BufferedWriter(new OutputStreamWriter(System.out));

        rl(); int T = nin();
        for (int t=0; t<T; ++t) {
            int a[][] = new int[9][];
            for (int i=0; i<9; ++i) {
                a[i] = new int[9];
                rl(); char[] chars = nca();
                for (int j=0; j<9; ++j) {
                    a[i][j] = chars[j]-48;
                }
            }

            a[0][0] = a[0][0]%9+1;
            a[1][3] = a[1][3]%9+1;
            a[2][6] = a[2][6]%9+1;

            a[3][1] = a[3][1]%9+1;
            a[4][4] = a[4][4]%9+1;
            a[5][7] = a[5][7]%9+1;

            a[6][2] = a[6][2]%9+1;
            a[7][5] = a[7][5]%9+1;
            a[8][8] = a[8][8]%9+1;

//            for (int i=0; i<9; ++i) {
//                for (int j=0; j<9; ++j) {
//                    if (a[i][j]==10) a[i][j] = 1;
//                }
//            }

            StringBuffer answer = new StringBuffer();
            for (int i=0; i<9; ++i) {
                for (int j=0; j<9; ++j) {
                    answer.append(a[i][j]);
                }
                answer.append("\n");
            }

            System.out.print(answer.toString());
        }

//        System.out.println("time: " + (System.currentTimeMillis()-time));
    }


    static BufferedReader br;
    static BufferedWriter bw;
    static StringTokenizer st;
    static void rl() throws Exception{
        st = new StringTokenizer(br.readLine());
    }
    static long nlo(){
        return Long.parseLong(st.nextToken());
    }
    static int nin(){
        return Integer.parseInt(st.nextToken());
    }
    /*private static void te(){
      }*/
    static double ndo(){
        return Double.parseDouble(st.nextToken());
    }
    static char[] nca(){
        return st.nextToken().toCharArray();
    }
}