Логічна головоломка#11636

Логічна головоломка

1 секунда
128 мегабайтів
Середня

Ви нещодавно придбали в кіоску журнал, повний логічних головоломок. Розв'язавши декілька задач, ви починаєте замислюватися, чи можна деякі з них розв'язувати алгоритмічно. Одна з головоломок називається "Мозаїка", і вона нагадує класичну відеогру "Сапер":

Вам задано двовимірну сітку із рядків і стовпців, що спочатку складається з білих клітинок. Ваше завдання — зафарбувати деякі з цих клітинок у чорний колір. Також задано сітку з підказками, що розширює початкову сітку головоломки на одну клітинку з кожного боку. Число в кожній клітинці означає, скільки клітинок у квадраті 3 \times 3 з центром у цій клітинці має бути зафарбовано у чорний. Клітинки поза початковою сіткою зафарбовувати не можна.

Вхідні дані

У першому рядку зазначено два цілі числа і (1 \le h, w \le 100) — висота та ширина сітки.

Кожен із наступних h+2 рядків містить w+2 цілих чисел c_1, \ldots, c_{w+2} (0 \le c_i \le 9), що є підказками.

Вихідні дані

Якщо підказки суперечливі, виведіть impossible. Інакше виведіть рядків по символів — можливе розв'язання. Використовуйте X для чорних клітинок і . для білих. Якщо існує декілька розв'язків, виведіть будь-який з них.

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading