Məsələlər
Sudoku
Sudoku
\includegraphics{https://static.e-olymp.com/content/d2/d2fd1cca6533f4850588740d4592dde1dd51dd65.jpg}
Yox! Bill sadəcə başa düşdü ki, son on dəqiqədə həlli üzərində düşündüyü Sudoku reallıqda keçən həftədəki məsələ idi, yalnız saat istiqamətinin əksinə çevrilmişdir. Necə də sadədir! Yəni jurnal hər həftə yeni məsələ verə bilmirmi? Əlbəttə, onun məsələni həll etməyə başlamazdan əvvəl bunun haqqında bilməsi imkanı yox idi, bəli rəqəmlə doldurulacaq boş yerlər keçən həftədəkinə nisbətən başqa idi. Buna baxmayaraq, bu həftə tapmacanın keçən həftədəkinin sadə törəməsi olduğunu nəzərə alsaq, əlbəttə ki, digərlərinin həllinə nisbətən daha çox zövqlü olar.
Sudoku sahəsi \textbf{9}×\textbf{9 }xanalı cədvəldən ibarətdir. Onlar hər birində \textbf{3x3} ölçülü sahələr olan qruplaşdırıla bilər. Bəzi xanalar \textbf{1}-dən \textbf{9}-a qədər doldurulmuşdur, digərləri isə boşdur. Oyunun məqsədi ondan ibarətdir ki, hər bir boş xananı \textbf{1...9} intevalındakı rəqəmlə elə doldurmaq lazımdır ki, hər bir sətir, hər bir sütun və hər bir sahədə \textbf{1..9} intervalındakı hər bir rəqəm bir dəfə iştirak etsin.
Həll edilməmiş Sudokunun, sözün əsil mənasında sadə əməliyyatlar vasitəsilə alınan əvvəlki məsələlərin törəməsi olduğunu yoxlayan proqram yazarkən gözlənilməz surprizlərdən qaçmaq üçün Billə kömək edin..
İcazə verilən əməliyyatlar aşağıdakılardır:
\begin{enumerate}
\item Bütün tapmacada saat əqrəbi istiqamətində və əksinə dönmək.
\item Bir seqmetin \textbf{3x9} ölçülü kolonkasında iki sütunun dəyişdirilməsi.
\item Bir seqmetin \textbf{3x9} ölçülü zolağında iki sətrin dəyişdirilməsi.
\item Sətir və sütun seqmeninin yerlərinin dəyişdirilməsi.
\item Hər bir xanada \textbf{1...9} arası \textbf{f} rəqəmin yerdəyişməsinin tətbiq edilməsi (məsələn, hər bir xanada \textbf{x}-in \textbf{f(x)} ilə dəyişdirilməsi).
\end{enumerate}
Hesab edilir ki, əməliyyat həll edilmiş Sudoku üzərində (yəni, həll eilməmiş deyil) aparılir, həmçinin həmişə qarantia verilir ki, əgər Sudokunun çevrilməsindən əvvəl həlli var idisə, onda bundan sona da həlli olacaq.
\InputFile
Giriş verilənləri testlərin sayını göstərən \textbf{N} ədədi ilə başlayır (\textbf{0} ≤ \textbf{N} ≤ \textbf{50})
Sonra hər bir test üçün tapmacanın keçən həftədəki həllinin şərhi yuxarıdan aşağıya doğru sətir-sətir \textbf{9} sətir olmaqla verilir.
Keçən həftədəki həlldən sonra bu həftədə həll edilməmiş məsələlrin şərhi hər birində doqquz sətir olmaqla verilir. Burada bunda başqa, hər bir sətir tapmacanın sətirlərinə uyğun gəlir vər hər bir rəqəm (\textbf{0...9}) xananın məzmununu göstərir, \textbf{0} rəqəmi xananın boş olduğunu göstərir. Sətirlər yuxarıdan aşağıya sətir-sətir göstərilib, xanalar soldan sağa sıralanıb.
Sonuncudan başqa hər bir testdən sonra bir boş sətir verilir. Hər bir həll edilməmiş tapmacanın, keçən həftə olduğu kimi, birmənalı şəkildə həll ediləcəyinə qarantiya verilir və bu həmişə Sudokunun yeganə həlli olacaqdır.
\OutputFile
İcazə verilən əməliyyatlardan istifadə etməklə tapmacanın verilmiş həllindən Sudoku alınarsa, Hər bir test üçün \textbf{Yes}, əgər bu mümkün deyilsə, \textbf{No} verməli.
Giriş verilənləri #1
2 963174258 178325649 254689731 821437596 496852317 735961824 589713462 317246985 642598173 060104050 200000001 008305600 800407006 006000300 700901004 500000002 040508070 007206900 534678912 672195348 198342567 859761423 426853791 713924856 961537284 287419635 345286179 010900605 025060070 870000902 702050043 000204000 490010508 107000056 040080210 208001090
Çıxış verilənləri #1
Yes No