На прямокутному полі розміщено фігур, які не перетинаються, але можуть дотикатися. Кожна фігура належить до одного з типів. Типи фігур задано матрицями, які складаються з чисел (заповнена клітинка) та (порожня клітинка). Фігури при розміщенні на полі можуть бути повернуті на , або , а також віддзеркалені по горизонталі та вертикалі. Відомо, що фігури є зв'язними (за вертикальною та горизонтальною суміжністю).
Поле задано матрицею розміру H \times W та містить числа від до , які вказують на частини відповідних фігур. Клітинки з однаковими числами утворюють одну фігуру. Усі клітинки, що належать одній фігурі, утворюють суцільну зв'язану область (за вертикальною та горизонтальною суміжністю).
В першому рядку записане ціле число ( ≤ ≤ ) – кількість типів фігур. Далі йде опис фігур. Опис кожної фігури розпочинається рядком з двома числами – шириною та висотою -ої фігури K_i \times L_i. Далі розміщується K_i рядків, у кожному з яких L_i чисел або , що визначають форму фігури. Далі розміщено рядок з розмірами поля , ( ≤ , ≤ ). Наступні рядки містять матрицю H \times W, яка складається з чисел від (порожня клітинка) до (номер фігури), де кожне число вказує на відповідну фігуру.
Якщо серед типів фігур є еквівалентні (тобто такі, що отримуються одна з одної шляхом поворотів або віддзеркалень), то виведіть . Якщо на полі зустрічається хоча б одна невідома фігура (не відповідає жодному із типів фігур), теж виведіть .
Інакше виведіть чисел – кількість використаних фігур кожного типу в порядку їхнього опису у вхідних даних.
Тип 1 – використано 2 рази (фігури №1 і №4).
Тип 2 – використано 1 раз (фігура №2).
Тип 3 – використано 1 раз (фігура №3).
Приклад 1