eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Огорожа

Огорожа

\includegraphics{https://static.e-olymp.com/content/0c/0ca04d328f513aa18bfdf43f5fd537ba132a2ab2.jpg} Для парку культури та відпочинку було вирішено виготовити огорожу. Щоб огорожа не псувала своїм незгарбним виглядом лице міста, архітектори вирішили зробити огорожу фігурною, і розробили декількі різних шаблонів для виготовлення секцій огорожі. Шаблон представляє собою многокутник, де три сторони завжди однакові, а четверта сторона (верхня частина огорожі) представляє ламану лінію. Проекції вершин цієї ламаної лінії на основу огорожі йдуть рівномірно, і таким чином шаблон описується як послідовність висот точок. Висота точок вказується в цілих міліметрах і змінюється від \textbf{0} до \textbf{2047}. Кількість точок у шаблоні становить \textbf{L} (\textbf{1} <= \textbf{L} <= \textbf{10000}). Архітектори розробили \textbf{M} шаблонів (\textbf{1} <= \textbf{M} <= \textbf{10000}), і завод виготовив за шаблонами \textbf{N} секцій (\textbf{N} <= \textbf{10000000}). Приклад секції з \textbf{L} = \textbf{7} зображено на рисунку. При транспортировці секцій огорожі до парку відбулась аварія, і готові секції огорожі розсипались і перемішались. При розборі завалів були виконані заміри секцій, і тепер, знаючи висоти, потрібно визанчити, до яого шаблону належить кожна секція забору. Крім того, при падінні секції забору могли бути пошкоджені (наприклад, могли поломатись зубчики забору), тому необхідно також порахувати випадки, коли витягнута із завалу секція не співпадає з жодним шаблоном. Проте, справа трохи спрощується -- внутрішяя (обернена до парку) сторона секції відрізняється кольором від зовнішньої сторони, тому можна з впевненістю сказати, що виміри висот секції зробелені у тому ж порядку, що і в шаблоні. \InputFile Всі дані відокремлюються одним пропуском. Останні дані у рядку завершуються символом переведення рядк. Перший рядок містить кількість тестів. Далі йдуть дані тестів. Перший рядок даних тесту містить значення \textbf{L} (число точок у шаблоні і секції), \textbf{M} (число різних шаблонів), \textbf{N} (число знайдених секцій). Далі \textbf{M} рядків містять інформацію про шаблон: номер шаблону (натуральне число) та \textbf{L} точок шаблону. Далі \textbf{N} рядків містять інформацію про секції огорожі, у кожному рядку міститься \textbf{L} точок однієї секції огорожі. \OutputFile У первому рядку виводиться слово \textbf{TEST} і через пропуск номер тесту. Далі йде \textbf{N} рядків, кажен рядок містить номер шаблону, з яким співпала секція, або, якщо підходящого шаблону не знайдено, то виводиться символ дефісу '\textbf{-}'. В останньому рядку теста виводиться слово ”\textbf{OK=}” (без лапок) і число секцій, співставлених з шаблонами, через пропуск символи ”\textbf{BAD=}” і число пошкоджених секцій.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
2
4 2 4
1 250 123 0 66
2 22 31 120 100
250 123 0 66
22 31 120 100
25 31 120 100
250 123 0 66
3 3 4
1 55 11 12
3 33 1 2
2 14 15 2
55 11 12
14 15 2
33 1 2
14 15 2
Вихідні дані #1
TEST 1
1
2
-
1
OK=3 BAD=1
TEST 2
1
2
3
2
OK=4 BAD=0