VII Olimpiada Informatyczna 1999/2000

Zadanie: POD
Autor: Marcin Kubica
Podpisy

Zawody II stopnia, dzień próbny 8 lutego 2000
Plik źródłowy: POD.??? (np. pas, c, cpp)
Plik wykonywalny: POD.exe
Plik wejściowy: POD.in
Plik wyjściowy: POD.out

W Urzędzie Ochrony Bajtocji (UOB) zatrudnieni są urzędnicy oraz dowódcy. W archiwum znajdują się teczki z aktami wszystkich urzędników. W każdej teczce znajduje się podpis urzędnika oraz podpisy pracowników (urzędników lub dowódców), którzy poręczają za jego lojalność. Każdy nowoprzyjmowany urzędnik musi uzyskać przynajmniej jedno poręczenie. Z biegiem czasu lista poręczycieli może się powiększać. UOB dowiedział się ostatnio, że do grona dowódców przeniknął szpieg wrogiej Mikromięklandii. Kolejni szpiedzy byli wprowadzani do UOB na stanowiska urzędnicze dzięki poręczeniu szpiega-dowódcy i/lub innych wprowadzonych szpiegów. Tacy szpiedzy mają poręczenia wyłącznie od pracowników będących szpiegami.

Wiarygodność urzędnika można podważyć, jeżeli pośrednio nie ma on poręczenia żadnego dowódcy, który nie jest szpiegiem, tzn. nie istnieje taki ciąg pracowników UOB p1, p2, ... , pk, że p1 jest dowódcą nie będącym szpiegiem, pk jest danym urzędnikiem i (dla i=1, ... , k-1>) pi poręczył za pi+1.

Jeżeli założenie o pewnym dowódcy, że jest szpiegiem spowodowałoby, że wiarygodność urzędnika zostałaby podważona, to urzędnik ten jest podejrzany o szpiegostwo. Dowództwo UOB chciałoby zobaczyć listę takich urzędników, i to jak najszybciej!

Przykład

Dowódcy: Anna, Grzegorz.
Urzędnicy: Bolesław (poręczyła Anna), Celina (poręczył Bolesław), Dorota (poręczyli Bolesław i Celina), Eugeniusz (poręczyli Anna i Grzegorz), Felicja (poręczył Eugeniusz), Halina (poręczyli Grzegorz i Ireneusz), Ireneusz (poręczyli Grzegorz i Halina).
Podejrzani: Bolesław, Celina, Dorota, Halina, Ireneusz.

Zadanie

Napisz program, który:

Wejście

W pierwszym wierszu pliku tekstowego POD.IN zapisana jest dokładnie jedna dodatnia liczba całkowita n 1<=n<=500 będąca liczbą pracowników UOB. Pracownicy są ponumerowani od 1 do n. W kolejnych n wierszach zapisane są opisy poręczeń. W i+1-ym wierszu pliku znajduje się opis poręczeń udzielonych pracownikowi nr i. Jest to ciąg liczb całkowitych pooddzielanych pojedynczymi odstępami. Pierwsza liczba w tym ciągu, 0<=mi, jest równa liczbie poręczeń udzielonych pracownikowi nr i. Kolejne mi liczb to numery pracowników, którzy poręczyli za prawdomówność pracownika nr i. (Tak więc liczba wyrazów ciągu w i+1-ym wierszu wynosi mi + 1.) Dowódcy to Ci pracownicy, za których nikt nie poręczył.

Wyjście

Twój program powinien:

Przykład

Dla pliku wejściowego POD.IN

9
0
1 1 
1 2
2 2 3
2 1 7
1 5
0
2 7 9
2 7 8

poprawną odpowiedzią jest plik wyjściowy POD.OUT

2
3
4
8
9