Задачи
Судоку
Судоку
\includegraphics{https://static.e-olymp.com/content/ee/ee5332d11ee827ccb8255e7807846ddab28ede49.jpg}
Судоку - это очень простая задача. Квадратная таблица из \textbf{9} строк и \textbf{9 }столбцов разделена на \textbf{9 }меньших квадратов \textbf{3}×\textbf{3}, как показано на рисунке. В некоторых клетках записаны десятичные цифры от \textbf{1 }до \textbf{9}. Другие клетки пусты. Цель состоит в том, чтобы заполнить пустые клетки десятичными цифрами от \textbf{1} до \textbf{9}, по одной цифре в клетке, таким образом, чтобы в каждой строке, в каждом столбце и в каждой отмеченном подквадрате \textbf{3}×\textbf{3}, были все цифры от \textbf{1} до \textbf{9}. Напишите программу для решения данной задачи судоку.
\InputFile
Входные данные начинаются со строки с количеством тестов. Для каждого теста далее следует\textbf{ 9} строк, содержащие соответствующе строки таблицы. В каждой строке размещено ровно \textbf{9} десятичных цифр, соответствующие цифрам в ячейках этой строки. Если ячейка пуста, во входных данных в ней содержится цифра \textbf{0}.
\OutputFile
Для каждого теста ваша программа должна вывести решение в том же формате, что и во входных данных. Пустые ячейки должны быть заполнены в соответствии с правилами. Если решение не является уникальным, то программа может вывести любое из них.
Выходные данные для различных тестовых случаев разделяйте пустой строкой.
Входные данные #1
1 103000509 002109400 000704000 300502006 060000050 700803004 000401000 009205800 804000107
Выходные данные #1
143628579 572139468 986754231 391542786 468917352 725863914 237481695 619275843 854396127