Cerinţa
Într-un depozit foarte mare există un raft cu n+1 spații de depozitare, numerotate de la 1 la n+1. Primele n spatii de depozitare sunt ocupate cu n pachete numerotate cu valori între 1 și n, iar spațiul de depozitare n+1 este gol.
Administratorul depozitului decide mutarea pachetelor, astfel încât pentru orice i, pachetul numerotat cu i să se afle în spațiul de depozitare i. Pentru aceasta se va folosi spațiul de depozitare suplimentar, n+1, singura manevră validă fiind mutarea unui pachet dintr-un spațiu de depozitare în altul, cu condiția ca acesta să fie gol.
Determinați o succesiune de manevre prin care fiecare pachet să fie în spațiul corect.
Date de intrare
Fişierul de intrare pachete_multe.in conţine pe prima linie numărul n, iar pe a doua linie n numere naturale separate prin spaţii. Al i-lea număr reprezintă numărul pachetului aflat în spațiul de depozitare i.
Date de ieşire
Fişierul de ieşire pachete_multe.out va conţine pe prima linie numărul M, reprezentând numărul de manevre efectuate. Pe fiecare dintre următoarele M linii se descrie o manevră, prin două numere i j, cu semnificația: se ia pachetul din spațiul i și se mută în spațiul j.
Restricţii şi precizări
1 ≤ n ≤ 100000<— ATENȚIE AICI- pentru fiecare manevră
i jefectuată,1 ≤ i,j ≤ n+1,i ≠ j, iar spațiuljtrebuie să fie gol - numărul de manevre realizate nu trebuie să fie minim
Exemplu:
pachete_multe.in
5 2 5 4 3 1
pachete_multe.out
7 1 6 5 1 2 5 6 2 3 6 4 3 6 4
Explicație
Pachetele se vor muta în felul urmator.
| 2 | 5 | 4 | 3 | 1 | _ |
| _ | 5 | 4 | 3 | 1 | 2 |
| 1 | 5 | 4 | 3 | _ | 2 |
| 1 | _ | 4 | 3 | 5 | 2 |
| 1 | 2 | 4 | 3 | 5 | _ |
| 1 | 2 | _ | 3 | 5 | 4 |
| 1 | 2 | 3 | _ | 5 | 4 |
| 1 | 2 | 3 | 4 | 5 | _ |

