Se da un graf orientat simplu cu n noduri si m muchii orientate. Determinati o ordine topologica a nodurilor folosind parcurgerea DFS (post-ordine inversata), pornind parcurgerile in ordine crescatoare a nodurilor de start si alegand la fiecare pas cel mai mic succesor nevizitat.
- Date de intrare
- Pe prima linie se citesc n si m. Urmeaza m linii, fiecare cu doua numere x y, reprezentand o muchie orientata de la x catre y.
- Date de iesire
- Daca graful contine un ciclu, se afiseaza -1. Altfel, se afiseaza cele n noduri in ordinea topologica obtinuta, separate prin spatiu.
- Restrictii
- 1 <= n <= 100000, 0 <= m <= 200000
Exemple
Exemplul 1
Intrare
4 3 1 2 1 3 3 4
Iesire
1 3 4 2
Exemplul 2
Intrare
3 3 1 2 2 3 3 1
Iesire
-1

