Для того щоб зрозуміти ранні цивілізації, археологи часто вивчають тексти, написані на стародавніх мовах. Однією з таких мов, що використовувались у Єгипті біля 3000 років тому, було мова, заснована на символах, які називають ієрогліфами. Рисунок С.1 показує шість ієрогліфів та їх назви. У цій задачі Вам потрібно написати програму, яка буде розпізнавати ці шість символів.
Рисунок C.1: Шість ієрогліфів
Вхідні дані складаються з декількох тестів, кожен з яких описує зображення, яке містить один або більше ієерогліфів, зображених на рисунку C.1. Зображення задаються у вигляді послідовності горизонтальних скануючих ліній, які складаються з чорних крапок (позначених 1) та білих крапок (позначених 0). У вхідних даних скануюча пряма закодована у шістнадцятковій системі числення. Наприклад, послідовність точок 10011100 (одна черна крапка, за нею йде дві білі і так далі) подається шістнадцятковим числом 9c. У шістнадцятковому запису чисел використовуються лише прописні літери від a до f. Перший рядок кожного тесту містить два цілих числа H і W. H (0 < H ≤ 200) - кількість скануючих ліній у зображенні. W (0 < W ≤ 50) - кількість шістнадцяткових символів у кожному рядку. Наступні H рядків містять шістнадцяткові символи зображення, подані зверху до низу. Вхідні зображення задовільеяють наступним умовам:
Зображення містить лише ієрогліфи, подані на рисунку C.1.
Кожне зображення містить як мінімум один ієрогліф.
Кожна черна крапка у зображенні є частиною ієрогліфу.
Кожен ієрогліф складається з замкненої множини чорних крапок, при цьому кожна чорна крапка має сусідню чорну точку або зверху, або знизу, або ліворуч, або праворуч.
Ієрогліфи не дотикаються один одного і жоден ієрогліф не знаходиться всередині іншого.
Якщо дві чорні точки дотикаються по діагоналі, то обов'язково буде ще одна чорна точка, яка дотикається їх обох.
Ієрогліфи можуть бути спотвореними, але кожен з них повинен бути топологічно еквівалентним одному з символів, зображених на рисунку C.1 (Дві фігури є топологічно еквівалентними, якщо кожна з них може бути перетворена в іншу розтягом без розривів).
Останній тест завершується рядком, який містить два нулі.
Для кожного тесту слід вивести його номер і рядок, який містить по одному символу для кожного ієрогліфа, розпізнаного у зображенні, використовуючи наступне кодування:
Ankh: A Wedjat: J Djed: D Scarab: S Was: W Akhet: K
У кожному вихідному рядку коди слід виводити у алфавітному порядку як показано у прикладі виведення.
Приклад вхідних даних містить тести, показані на рисунках C.2 та C.3. Із-за обмежень на розмір не всі вхідні дані подано у прикладі.