Національна асоціація кураторів музеїв звернулася до вас із цікавою проблемою. Президент країни, щоб покращити свій публічний імідж, вирішив відвідати різні художні музеї в країні, щоб створити враження, що він є витонченою людиною. Однак, будучи дуже зайнятою особою і нічого не знаючи про мистецтво, він наклав два обмеження на відвідування:
У кожному музеї він хоче побачити роботи одного і тільки одного художника, щоб він міг легко підготуватися до візиту і виглядати як знавець мистецтва. Однак він не обов'язково повинен бачити всі роботи цього художника.
Він не хоче витрачати час і вимагає пройти експозицію, слідуючи найкоротшим можливим шляхом.
Куратори готові виконати вимоги Президента, але вони не хочуть перерозподіляти шедеври в експозиції тільки для того, щоб отримати прямий шлях. Їх єдина поступка — тимчасово обміняти місцями два шедеври, якщо це допоможе отримати коротший шлях.
Ви повинні написати програму, яка отримує на вхід розташування експозиції і знаходить найкоротший шлях відповідно до вищезазначених обмежень. Щоб полегшити ваше завдання, куратори вже визначили стандартне розташування. Рисунок 1 показує одне з таких розташувань.

Рисунок 1: Розташування музею
Прогулянка Президента завжди починається від лівої стіни (X = 1, будь-яке ) і закінчується на правій стіні (X = X_\text{max}, будь-яке ). Прогулянка може здійснюватися горизонтально або вертикально; діагональні рухи не дозволені. Роботи даного художника всі позначені однією і тією ж великою літерою (, , тощо). З Рисунка 1 можна проілюструвати кілька випадків:
Якщо президент хоче побачити роботи художника , немає шляху зліва направо. Такий шлях можна отримати, якщо роботу художника в обміняти з роботою художника з , , , , або .
Якщо президент хоче побачити роботи художника , вже є шлях, що починається в і закінчується в . Коротший шлях можна отримати, якщо роботу в обміняти з роботою художника , наприклад, з .
Якщо президент хоче побачити роботи художника , вже є прямий шлях з до , і коротший шлях не може бути отриманий.
Якщо президент хоче побачити роботи , або , немає можливості отримати шлях зліва направо.
Вхідний файл може містити кілька екземплярів задачі. Кожен екземпляр має наступний формат (всі числа є додатними цілими):
Перша строка містить цілі числа X_\text{max} і Y_\text{max}, розміри розташування. Ви можете припустити, що 1 \leq X_\text{max}, Y_\text{max} \leq 100.
Друга строка містить літеру художника (велика літера), роботи якого будуть відвідані.
Y_\text{max} рядків, кожен з X_\text{max} літерами (без пробілів між ними). Перша вхідна строка відповідає індексу Y_\text{max}, друга строка індексу Y_\text{max}-1, і так далі, до останньої строки, яка відповідає індексу .
Строка, що містить два нулі, завершує вхідний файл. Числа розділені пробілами.
Для кожного екземпляра задачі ваша програма повинна формувати вивід наступним чином.
Якщо шлях існує, ваша програма повинна спочатку вивести один рядок з повідомленням "Exchange (x,y) and (u,v)", якщо обмін відбудеться, або "No exchange" в іншому випадку. Після цього повинен бути виведений найкоротший шлях, одна координата на рядок. У випадку, якщо більше одного шляху є найкоротшим, може бути виведений будь-який з них, за винятком того, що шляху без обміну слід надавати перевагу над шляхами з обмінами.
Якщо шлях не існує, ваша програма повинна вивести лише один рядок з повідомленням "No path".
Вихід кожного екземпляра завершується порожнім рядком.
Приклад 1