- Time limit: 1.00 s
- Memory limit: 128 MB
Uolevi järjestää shakkiturnauksen, johon on ilmoittautunut n osallistujaa. Jokainen osallistuja on kertonut, monenko muun kanssa hän haluaa pelata erän shakkia.
Pelaaja ei voi pelata itseään vastaan, ja sama pari voi pelata keskenään korkeintaan kerran. Uolevia vastaan ei voi pelata. Voisitko auttaa Uolevia suunnittelemaan turnauksen ohjelman?
Syöte
Syötteen ensimmäisellä rivillä on kokonaisluku n: pelaajien määrä. Pelaajat on numeroitu kokonaisluvuin 1,2,\ldots,n.
Seuraavalla rivillä on n kokonaislukua x_1,x_2,\ldots,x_n: jokaisesta osallistujasta tieto, monenko kanssa hän haluaa pelata.
Tuloste
Ohjelmasi tulee tulostaa ensin kokonaisluku m: pelien määrä.
Tämän jälkeen ohjelmasi tulee tulostaa m riviä, joista jokainen kuvaa yhden pelin. Rivillä tulee olla kaksi kokonaislukua: pelaajien numerot.
Jos ratkaisuja on useita, voit tulostaa niistä minkä tahansa. Jos ratkaisua ei ole olemassa, tulosta "QAQ".
Esimerkki 1
Syöte:
5 1 3 2 0 2
Tuloste:
4 1 2 2 3 2 5 3 5
Esimerkki 2
Syöte:
5 1 0 4 1 0
Tuloste:
QAQ
Osatehtävä 1 (19 pistettä)
- 1 \le n \le 10
- 0 \le x_i \le n-1
Osatehtävä 2 (42 pistettä)
- 1 \le n \le 100
- 0 \le x_i \le n-1
Osatehtävä 3 (39 pistettä)
- 1 \le n \le 10^5
- \sum_{i=1}^{n} x_i \le 2 \cdot 10^5