Şahmat
Şahmatın bəzi əsas qaydalarını xatırladaq. Oyun iki oyunçu arasında keçirilir: biri ağ fiqurlarla, digəri isə qara fiqurlarla oynayır. Oyun 8x8 ölçülü lövhədə oynanılır. Sütunlar soldan sağa doğru "a"-dan "h"-ə qədər hərflərlə, sətirlər isə aşağıdan yuxarıya doğru 1-dən 8-ə qədər rəqəmlərlə işarələnir. Lövhənin hər xanəsi ya boşdur, ya da bir fiqurla doludur. Əgər A fiquru (piyada istisna olmaqla) qaydalara uyğun olaraq B fiqurunun olduğu xanəyə gedə bilirsə, bu gediş nəticəsində B fiquru lövhədən çıxarılır. Bu səbəbdən, hər hansı bir fiqurun gedə biləcəyi bütün xanələr həmin fiqurun "təhdid etdiyi" xanələr adlanır. Şahın hər hansı bir yad fiqurun təhdid etdiyi xanəyə getməsi qadağandır. Əgər oyunçulardan biri elə bir gediş edərsə ki, rəqib şah təhdid altında qalar (bu vəziyyət "şah" adlanır), rəqib elə bir gediş etməlidir ki, onun şahı artıq təhdid altında olmasın. Əgər belə bir gediş yoxdursa, bu vəziyyət "mat" adlanır.
Şah 8 istiqamətdən hər hansı birinə (sola, sağa, irəli, geri, hər hansı bir diaqonal istiqamətə) bir xanə gedə bilər. Vəzir 8 istiqamətdən hər hansı birinə istənilən sayda xanə gedə bilər, lakin fiqurlarla dolu xanələri keçməməlidir.
Şahmat lövhəsində üç fiqur var: ağ şah, ağ vəzir və qara şah. İndi ağların gedişidir. Onlar minimum neçə gedişlə mat edə bilərlər? Qaralar matdan qaçmaq üçün oyunun qaydalarına uyğun hər şeyi edəcəklər.
Giriş verilənləri
Proqram TEST_NUM - test bloklarının sayını, sonra isə blokların özlərini oxumalıdır. Hər blok ayrı bir sətirdir və burada ağ şah, ağ vəzir və qara şahın yerləşdiyi xanələrin üç təyinatı boşluqla ayrılmış şəkildə verilir (xanənin təyinatı sütunun və xanənin nömrəsinin birləşməsindən ibarətdir).
Bütün verilmiş mövqelər şahmat qaydalarına uyğun olaraq mütləq icazəlidir (məsələn, qara şah təhdid altında deyil).
Çıxış verilənləri
Proqramınız hər test üçün tək bir rəqəm - minimum gediş sayını çıxarmalıdır.