Навчання в Ягеллонському університеті в Кракові має свої переваги та недоліки. Переваги: Ягеллонський університет. Недоліки: Краків... А точніше, постійна необхідність ремонту трамвайних шляхів.
Спочатку мережа громадського транспорту складається з певної кількості трамвайних ліній. Потім одну з них призупиняють, потім іншу, і так далі... Як ви знаєте, у Кракові існує непорушне правило: завжди призупиняти лінію до того, як відновить роботу якась із раніше призупинених ліній. Наразі ще не всі лінії призупинені, і ви сидите в трамваї, дратуючись, що ваше пряме сполучення з університетом щойно зникло. Дивитеся у вікно і запитуєте себе: "Чи я дійсно найневезучіший пасажир у цьому місті? Чи є хтось, кому потрібно пересідати ще більше разів, щоб дістатися туди, куди він хоче?"
Точніше, ми говоримо, що зупинка досяжна із зупинки з пересадками, якщо існують такі лінії l_0, \ldots, l_c, що l_0 обслуговує зупинку , l_c обслуговує зупинку , і для кожного 0 \le i < c існує деяка зупинка, обслуговувана l_i і l_{i+1}. У кожний момент часу ви хочете знати найбільше значення , при якому існує така пара зупинок (, ), що в можна дістатися з з пересадками, але при цьому недосяжна з з c' пересадками для будь-якого c' < c.
Зверніть увагу, що іноді взагалі неможливо проїхати між парою зупинок. Як випливає з наведеного вище визначення, ви вирішуєте не враховувати такі пари у своєму аналізі - якщо хтось захоче проїхати між цими зупинками, він скористається Uber.
Перший рядок містить кількість тестів (1 \le z \le 35). Далі слідує опис тестів.
Перший рядок кожного тесту містить кількість зупинок і кількість трамвайних шляхів (2 \le n, k \le 750).
Зупинки пронумеровані від до , а лінії пронумеровані від до .
Потім слідують рядків. -й з цих рядків описує маршрут трамвайної лінії номер . Кожен рядок починається з цілого числа r_i (2 \le r_i \le n), за яким слідують r_i різних цілих чисел a_{i,j} (1 \le a_{i,j} \le n) - ідентифікатори зупинок, обслуговуваних -им трамвайним маршрутом. Будь-яка трамвайна лінія йде в обох напрямках.
Наступний рядок містить одне ціле число (1 \le s \le k - 1).
Потім слідують рядків, що описують порядок зупинки трамвайних шляхів. Кожен з цих рядків містить єдине ціле число s_i (1 \le s_i \le k) - ідентифікатор зупиненої лінії трамвая. Будь-яка лінія може бути призупинена не більше одного разу.
Суми значень і у всіх тестах не перевищують кожне.
Для кожного тесту виведіть s + 1 рядків, кожен з яких містить одне ціле число. У i + 1-му рядку виведіть найбільшу кількість пересадок між лініями, які слід здійснити після -ї події призупинення (перший рядок містить відповідь до будь-яких призупинень).
Приклад 1
Спочатку для проїзду, наприклад, від зупинки до зупинки (або навпаки) потрібна одна пересадка. Такий проїзд можливий за маршрутом , потім за маршрутом . Немає пар зупинок, що вимагають або більше пересадок.
Після видалення лінії для проїзду від зупинки до зупинки (або навпаки) потрібно дві пересадки.
Після видалення ліній і єдиними парами зупинок, які все ще можуть бути досягнуті одна з одної, є (, ) і (, ), і в обох випадках для проїзду між ними не потрібно жодних пересадок.
Після видалення ліній , і єдина пара зупинок, досяжна одна з одної, - це (, ). Для проїзду між цими зупинками не потрібно жодних пересадок.