У орієнтованому графі потрібно знайти вершини, які недосяжні з певних заданих вершин.
Орієнтований граф складається з вершин, пронумерованих від до , і набору ребер p \to q, що з'єднують вершини і в одному напрямку.
Вершина вважається досяжною з вершини , якщо існує пряме ребро p \to r, або якщо існує така вершина , що досяжна з , а досяжна з .
Вершина є недосяжною з вершини , якщо не може бути досягнута з .
Вхідні дані складаються з кількох тестів. Для кожного графа перший рядок містить одне ціле число (1 \leq n \leq 100) - кількість вершин у графі.
Далі йде група рядків, кожен з яких містить набір цілих чисел. Група завершується рядком, що містить одне ціле число . Кожен рядок представляє собою набір ребер. Перше ціле число в наборі є початковою вершиною, а наступна група цілих чисел j, \ldots, k визначає множину ребер i \to j, \ldots, i \to k. Останнє ціле число в рядку завжди дорівнює . Кожна можлива початкова вершина (1 \leq i \leq n) може з'явитися в наборі даних один раз або не з'явитися взагалі. Після кожного визначення графа буде йти рядок, що містить список цілих чисел. Перше ціле число в рядку вказує, скільки цілих чисел слідує за ним.
Кожне з наступних цілих чисел представляє початкову вершину, яку потрібно дослідити. Потім йде наступний граф. Якщо графів більше немає, наступний рядок містить одне ціле число .
Для кожної досліджуваної початкової вершини ваша програма повинна визначити всі вершини, які недосяжні з неї. Кожен список повинен бути виведений в одному рядку, починаючи з кількості недосяжних вершин і закінчуючи номерами цих вершин.

Приклад 1