CSES - Järjestäminen
  • Time limit: 1.00 s
  • Memory limit: 512 MB
Sinulla on taulukko, jossa esiintyy kerran jokainen luku väliltä $1,2,\dots,n$. Tehtäväsi on järjestää taulukon luvut pienimmästä suurimpaan kääntämällä alitaulukoita. Voit antaa minkä tahansa ratkaisun, kunhan siinä on enintään $n$ kääntöä.

Syöte

Syötteen ensimmäisellä rivillä on kokonaisluku $n$: taulukon koko. Taulukon alkiot on numeroitu $1,2,\dots,n$.

Seuraavalla rivillä on $n$ kokonaislukua $x_1,x_2,\dots,x_n$: taulukon sisältö.

Tuloste

Tulosta ensin kokonaisluku $k$: kääntöjen määrä.

Tulosta sitten $k$ riviä, jotka kuvaavat käännöt. Jokaisella rivillä on kaksi kokonaislukua $a$ ja $b$: käännät alitaulukon kohdasta $a \dots b$.

Rajat
  • $1 \le n \le 2 \cdot 10^5$
Esimerkki

Syöte:
4
2 3 1 4


Tuloste:
2
1 3
2 3