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