Монтеско проти Капулето
Ромео і Джульєтта нарешті вирішили одружитися. Однак організація весільної вечірки буде складною, оскільки їхні родини — Монтеккі та Капулетті — є заклятими ворогами. Ваше завдання — визначити, кого запросити, а кого ні, щоб уникнути конфліктів.
У вас є список з осіб, яких можна запросити на вечірку. Для кожної особи відомий список її ворогів: . Відносини "вороги" мають такі властивості:
Антитранзитивність. Якщо є ворогом , а є ворогом , то є другом . Крім того, вороги друзів є його ворогами, а друзі друзів є його друзями.
Симетричність. Якщо є ворогом , то є ворогом (хоча це може не бути зазначено в його списку ворогів).
Особа прийме запрошення на вечірку, якщо і тільки якщо вона запрошена, запрошені всі її друзі, і жоден з її ворогів не запрошений. Вам потрібно визначити максимальну кількість людей, яких можна запросити, щоб усі вони прийняли запрошення.
Наприклад, якщо , і відомо, що: — ворог , — ворог , і — ворог , тоді можна запросити максимум особи. Цими людьми можуть бути і , але для цієї задачі потрібно лише вказати кількість запрошених осіб.
Вхідні дані
Перший рядок містить кількість тестів . Далі йде порожній рядок. Порожній рядок також використовується для розділення тестів. Перший рядок кожного тесту містить кількість людей . Для кожної з цих осіб є рядок зі списком її ворогів. Перший рядок містить список ворогів особи , другий рядок містить список ворогів особи і так далі. Кожен список ворогів починається з цілого числа (кількість відомих ворогів цієї особи), за яким слідують цілих чисел (вороги цієї особи). Наприклад, якщо вороги особи і , то список її ворогів виглядає так: .
Вихідні дані
Для кожного тесту виведіть один рядок, що містить ціле число — максимальну кількість людей, яких можна запросити так, щоб усі вони прийняли запрошення.