Номограма#6957

Номограма

3 секунди
128 мегабайтів
Легка

Номограма — це логічна головоломка з простими правилами, але складним розв'язанням. Правила такі: у вас є прямокутна сітка квадратів, де кожен квадрат може бути чорним (позначимо його як 1) або білим (позначимо його як 0). Біля кожного рядка вказані довжини послідовних груп чорних квадратів у цьому рядку. Над кожною колонкою вказані довжини послідовних груп чорних квадратів у цій колонці.

Ваше завдання — знайти всі чорні клітини.

Вхідні дані

Перша строка містить кількість номограм, які потрібно розв'язати. Кожен тест починається з порожнього рядка, за яким слідують два натуральних числа і — ширина і висота головоломки. Відомо, що 1 \le w \cdot h \le 20.

Далі йдуть два блоки опису головоломки, кожен з яких починається з порожнього рядка: один блок для рядків (який містить рядків) і другий для стовпців (який містить рядків). У цих двох блоках довжини груп чорних квадратів у кожному рядку/стовпці розділені комами (зауваження: рядок може бути порожнім).

Вихідні дані

Для кожного тесту (головоломки) визначте відповідь, якщо вона єдина. Якщо відповідь єдина, виведіть 2D бінарну матрицю з рядків і символів. Виведіть 1, якщо відповідна клітинка чорна, і 0 інакше.

Якщо відповідь не єдина, виведіть "not unique" в одному рядку (без "). Розділяйте відповіді на тести порожнім рядком.

Приклади

Приклад 1

Loading
Loading