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