
О, ні! Білл просто зрозумів, що ця Судоку, над розв'язанням якої він провів останні десять хвилин, по суті, була задачею з минулого тижня, лише повернутою проти годинникової стрілки. Як дешево! Невже журнал не може дозволити собі нову задачу кожного тижня? Звичайно, він не мав можливості дізнатися про це до того, як почав її розв'язувати, та й порожні місця для заповнення цифрами були іншими, ніж минулого тижня. Тим не менше, розуміння того, що на цьому тижні головоломка була простою похідною від задачі з минулого тижня, звичайно, принесло задоволення більше, ніж розв'язання усього іншого.
Поле для Судоку складається з таблиці 9 \times 9 клітинок. Вони можуть бути згруповані у 3 \times 3 областях розміром 3 \times 3 клітинки кожна. Деякі клітинки заповнено цифрами від до , а інші залишаються порожніми. Мета гри полягає у тому, щоб заповнити кожну порожню клітинку цифрою так, щоб у кожному рядку, кожному стовпці і у кожній області містилась кожна з цифр лише один раз. Правильне судоку завжди має рівно один розв'язок.
Допоможіть Біллу уникнути неприємних сюрпризів, написавши програму, яка перевірить, чи є нерозв'язані Судоку дійсно похідними від більш ранніх задач, отриманими за допомогою простих операцій.
Дозволеними операціями є:
Поворот усієї головоломки за годинниковою стрілкою або проти годинникової стрілки.
Обмін двох стовпців у колонці розміром 3 \times 9 у одному сегменті.
Обмін двох рядків у смузі розміром 9 \times 3 у одному сегменті.
Обмін місцями сегментів рядків та стовпців.
Застосування перестановки цифр у кожній клітинці (наприклад, заміна на у кожній клітинці).
Вважається, що операція виконується над розв'язаним Судоку (а не над нерозв'язаними задачами), також завжди гарантується, що якщо існував розв'язок до перетворення Судоку, то він існує і після нього.
Вхідні дані починаються з рядка, який містить кількість тестів 0 \leq N \leq 50.
Далі для кожного тесту йде дев'ять рядків з описом розв'язання головоломки з минулого тижня, по рядках зверху до низу. Кожен рядок відповідає рядку у головоломці і складається з дев'яти цифр (), які описують вміст комірок зліва праворуч.
Після розв'язку з минулого тижня йдуть блоки по дев'ять рядків з описом нерозв'язаних задач на цьому тижні. Тут, крім того, що кожен рядок відповідає рядкам головоломки і кожна цифра () описує вміст комірки, цифра означає, що комірка порожня. Рядки подано по порядку зверху до низу, по одному у рядку, комірки впорядковано зліва праворуч.
Після кожного тесту, крім останнього, йде порожній рядок. Кожна нерозв'язана головоломка гарантовано буде однозначно розв'язною, як і розв'язок з минулого тижня, і це завжди буде правильний розв'язок Судоку.
Для кожного тесту виведіть Yes, якщо Судоку може бути отримано із заданого розв'язку головоломки з використанням дозволених операцій, або No, якщо це неможливо.
Приклад 1