Божевільний Король#3447

Божевільний Король

1 секунда
64 мегабайти
Легка

Король Петро живе в королівстві , а його дочка в королівстві . Король отримав листа, в якому повідомлялося, що його дочка народила дитину. Король неймовірно хоче побачити свого онука! На жаль, це буде не так просто.

Королівства і розділені лісом. У лісі багато ворогів, і король не прагне їх зустріти. Якщо вони нападуть на короля на шляху до королівства , то він ніколи більше не побачить свого онука і дочку через летальні наслідки.

Таємна рада короля володіє інформацією про розташування ворогів, що полегшує завдання для короля. З невідомої причини ліс є шахівницею розміром M \times N. ( — це кількість рядків, а — кількість стовпців). , M \leq 100 — додатні цілі числа.

Вороги короля можуть їздити на конях, як показано на малюнку. Зазвичай коні рухаються (або стрибають) так у шахах. На жаль, король не може взяти літак з точки до точки , тому що його ще не винайшли. Тому він рухається так само, як шаховий король (див. малюнок для деталей).

Король не може перейти на клітинку , якщо на цій клітинці знаходиться кінь ворога. Поки король рухається, коні не рухаються, але якщо хоча б один кінь може досягти клітинки за один хід, то король не може перейти на цю клітинку (за винятком випадку, коли клітинка є або королівством , або ).

Ви є начальником відділу електронної розвідки королівства (до речі, комп'ютери вже винайдені). І вас просять знайти довжину найкоротшого маршруту з королівства до , оскільки король дуже хоче побачити свого онука.

Вхідні дані

Перша строка введення містить кількість тестів T \leq 100. Перша строка кожного тесту містить два числа і . Далі слідують рядків, кожен з яких містить символів з множини = {'.', 'Z', 'A', 'B'}. '.' означає, що клітинка не зайнята. 'Z' означає, що клітинка зайнята конем. 'A' — королівство , 'B' — королівство . Кожен тест містить рівно одну клітинку, позначену як королівство , і одну клітинку, позначену як королівство .

Вихідні дані

Знайдіть довжину найкоротшого маршруту для кожного тесту і виведіть рядок "Minimal possible length of a trip is L", якщо король може дістатися до королівства . Якщо король не може безпечно дістатися до королівства , виведіть рядок "King Peter, you can't go now!".

Приклади

Приклад 1

Loading
Loading