- Time limit: 4.00 s
- Memory limit: 128 MB
Uolevi on kuullut Maijalta, että GNU/Linux on parempi käyttöjärjestelmä kuin DOS. Hän ei kuitenkaan halua asentaa valmista Linux-jakelua tai käyttää pakettimanageria, vaan asentaa järjestelmän käsin.
Uolevi yritti ensin vain asentaa kaikki tarvittavat ohjelmat siinä järjestyksessä kun ne tulivat mieleen, mutta sitten hän törmäsi ongelmaan: jotkin ohjelmat tarvitsevat toisia ohjelmia asentuakseen.
Tehtävänäsi on selvittää, missä järjestyksessä Uolevi voi asentaa ohjelmat siten, että jokaisen ohjelman riippuvuudet asennetaan ennen sitä.
Syöte
Syötteen ensimmäisellä rivillä on kokonaisluvut ja , ohjelmien lukumäärä ja riippuvuuksien lukumäärä. Ohjelmat numeroidaan luvuilla .
Seuraavat riviä sisältävät ohjelmien väliset riippuvuudet. Jokaisella rivillä on kaksi lukua ja , mikä tarkoittaa että ohjelma riippuu ohjelmasta , ts. ohjelma on asennettava ennen ohjelmaa .
Tuloste
Mikäli ohjelmat on mahdollista asentaa jossain järjestyksessä, tulosta rivi joka sisältää jonkin mahdollisen järjestyksen.
Muussa tapauksessa tulosta QAQ.
Rajat
Esimerkki
Syöte:
6 6 5 2 2 4 5 3 3 4 3 1 2 1
Tuloste:
5 2 3 4 6 1
Myös mikä tahansa muu lukujen permutaatio, jossa esiintyy 5 ennen 2, 2 ennen 4, 5 ennen 3, 3 ennen 4, 3 ennen 1, 2 ennen 1, kelpaa vastaukseksi.