- Time limit: 2.00 s
- Memory limit: 512 MB
Annettuna on taulukko, jossa on n kokonaislukua. Jokainen luku väliltä 1 \ldots n esiintyy taulukossa tasan kerran.
Tehtäväsi on järjestää taulukon luvut pienimmästä suurimpaan kääntöjen avulla. Jokainen kääntö muuttaa taulukon k ensimmäisen luvun järjestyksen käänteiseksi, missä k on valitsemasi luku (1 \le k \le n).
Sinun tulee etsiä jokin sarja kääntöjä, jotka järjestävät taulukon. Vastaus hyväksytään, jos kääntöjen määrä on enintään 5n.
Syöte
Syötteen ensimmäisellä rivillä on kokonaisluku n: taulukon koko.
Seuraavalla rivillä on n lukua, jotka kuvaavat taulukon sisällön.
Tuloste
Tulosta ensin kokonaisluku m: kääntöjen määrä (0 \le m \le 5n).
Tulosta sitten m lukua, joista jokainen kuvaa käännön k.
Esimerkki
Syöte:
8 6 7 2 5 1 4 3 8
Tuloste:
6 3 6 2 5 7 3
Esimerkissä taulukon järjestys muuttuu seuraavasti:
- [6,7,2,5,1,4,3,8]
- [2,7,6,5,1,4,3,8]
- [4,1,5,6,7,2,3,8]
- [1,4,5,6,7,2,3,8]
- [7,6,5,4,1,2,3,8]
- [3,2,1,4,5,6,7,8]
- [1,2,3,4,5,6,7,8]
Osatehtävä 1 (19 pistettä)
- 1 \le n \le 10
Osatehtävä 2 (37 pistettä)
- 1 \le n \le 1000
Osatehtävä 3 (44 pistettä)
- 1 \le n \le 10^5