Огорожа#408

Огорожа

1 секунда
64 мегабайти
Дуже легка

Для парку культури та відпочинку було вирішено виготовити огорожу. Щоб огорожа не псувала своїм незграбним виглядом обличчя міста, архітектори вирішили зробити огорожу фігурною і розробили декілька різних шаблонів для виготовлення секцій огорожі. Шаблон представляє собою многокутник, де три сторони завжди однакові, а четверта сторона (верхня частина огорожі) є ламаною лінією. Проекції вершин цієї ламаної лінії на основу огорожі розташовані рівномірно, і таким чином шаблон описується як послідовність висот точок. Висота точок вказується в цілих міліметрах і змінюється від до .

Кількість точок у шаблоні становить (1 \leq L \leq 10000). Архітектори розробили шаблонів (1 \leq M \leq 10000), і завод виготовив за шаблонами секцій (N \leq 10000000). Приклад секції з L = 7 зображено на рисунку.

Під час транспортування секцій огорожі до парку сталася аварія, і готові секції огорожі розсипались та перемішались. Під час розбору завалів були виконані заміри секцій, і тепер, знаючи висоти, потрібно визначити, до якого шаблону належить кожна секція огорожі. Крім того, при падінні секції огорожі могли бути пошкоджені (наприклад, могли зламатися зубці огорожі), тому необхідно також порахувати випадки, коли витягнута із завалу секція не відповідає жодному шаблону.

Утім, задача дещо спрощується — внутрішня (обернена до парку) сторона секції відрізняється кольором від зовнішньої, тому можна стверджувати, що виміри висот секції виконані в тому ж порядку, що й у шаблоні.

Вхідні дані

Всі дані відокремлені одним пропуском. Останні дані в рядку завершуються символом переведення рядка.

Перший рядок містить кількість тестів. Далі йдуть тестові дані.

Перший рядок кожного тесту містить значення (число точок у шаблоні та секції), (число різних шаблонів), (число знайдених секцій).

Далі рядків містять інформацію про шаблони: номер шаблону (натуральне число) та точок шаблону.

Далі рядків містять інформацію про секції огорожі, у кожному рядку — точок однієї секції огорожі.

Вихідні дані

У першому рядку виведіть слово TEST і через пропуск номер тесту.

Далі йде рядків, кожен рядок містить номер шаблона, з яким співпала секція, або, якщо потрібного шаблона не знайдено, виведіть символ дефісу '-'.

В останньому рядку тесту виведіть слово "OK=" (без лапок) і число секцій, які співпали з шаблонами, через пропуск символи "BAD=" і число пошкоджених секцій.

Приклади

Приклад 1

Loading
Loading