Fie G un graf orientat cu N noduri și M arce. Spunem că nodul Y este accesibil din nodul X dacă se poate ajunge de la X la Y mergând pe arce în sensul corespunzător al acestora. Spunem că nodul X este “popular” dacă pentru fiecare nod Y al grafului G se îndeplinește cel puțin una din condițiile:
Xeste accesibil dinY;Yeste accesibil dinX.
Cerință
Dându-se cele două numere N si M cât si arcele grafului, să se afle care sunt nodurile populare din graf.
Date de intrare
Prima linie a fișierului drumuri.in conține numerele N și M, cu semnificația din enunț. Următoarele M linii conțin câte două numere X și Y, semnificând faptul că există arc orientat de la X la Y.
Date de ieșire
Prima linie a fișierului drumuri.out conține numărul NR, reprezentând numărul de noduri populare ale grafului. Următoarea linie va conține cele NR noduri populare afișate în ordine crescătoare.
Restricții și precizări
1 ≤ N ≤ 150 0001 ≤ M ≤ 300 000- Pentru
50%din punctajN ≤ 700, M ≤ 1100 - Pentru
65%din teste,Geste aciclic
Exemplu:
drumuri.in
5 4
1 2
3 2
2 4
4 5
drumuri.out
3
2 4 5
Explicaţie
Nodurile 2, 4 și 5 sunt singurele noduri populare. Nodul 1, spre exemplu, nu este popular deoarece nu este accesibil din 3, iar nici nodul 3 nu este accesibil din 1.