Consider a 9 by 9 grid of squares. It is partitioned into 9 blocks, each of which is a 3 by 3 grid. Some squares contain a number from 1 to 9, and the rest are blank. Your task is to fill in each blank with a number (also from 1 to 9) so that 1) no row contains the same number twice, and 2) no column contains the same number twice, and 3) no block contains the same number twice. You may assume that the problem instances you are given either have a unique solution or have no solution. If a solution exists, you must print it out. Input Format ------------ The file contains multiple problem instances. The first line contains the number of instances. Each instance consists of 9 lines. Each of those lines consists of 9 numbers, separated by single spaces. Output Format ------------- For each instance, generate one line giving the instance number (see sample output). If no solution exists, you must print "No solution." on a separate line. If a solution exists, print it using the same format as the input. Sample Input ------------ 2 0 0 0 9 1 0 0 0 6 4 0 6 8 0 5 0 0 0 0 2 0 4 6 0 0 7 0 0 4 1 0 0 0 0 0 0 2 0 5 0 0 0 4 0 3 0 0 0 0 0 0 2 5 0 0 1 0 0 4 8 0 3 0 0 0 0 3 0 1 5 0 7 7 0 0 0 5 6 0 0 0 2 0 0 0 8 5 0 0 0 9 5 0 0 0 6 0 7 0 0 0 0 0 0 0 4 3 0 0 6 0 0 0 0 8 0 0 4 0 0 8 0 1 0 0 2 0 0 9 0 0 0 0 4 0 0 7 6 0 0 0 0 0 0 0 2 0 1 0 0 0 9 7 0 0 0 2 5 0 0 0 0 Sample Output ------------- Instance 1: 8 5 7 9 1 2 3 4 6 4 3 6 8 7 5 9 1 2 1 2 9 4 6 3 8 7 5 3 4 1 5 2 9 7 6 8 2 6 5 1 8 7 4 9 3 9 7 8 6 3 4 2 5 1 5 1 2 7 4 8 6 3 9 6 8 4 3 9 1 5 2 7 7 9 3 2 5 6 1 8 4 Instance 2: No solution.