Dahulu ada seorang anak bernama Kino yang sangat suka bepergian dan telah mengunjungi banyak tempat aneh. Suatu hari, ia tiba di dekat sebuah jembatan besar dan menemukan banyak mobil kap terbuka berhenti di atasnya. Sayangnya, jembatan itu sangat sempit sehingga hanya satu mobil yang dapat melintas dalam arah melintang. Mobil-mobil di atas jembatan tidak mau saling mengalah, sehingga mobil dari kedua arah terjebak dan tidak dapat melintas.
Kemudian, pembangun jembatan menambahkan sebuah fungsi baru: salah satu bagian jembatan dapat diputar $180$ derajat, sehingga bagian depan dan belakang mobil-mobil di atas bagian tersebut bertukar arah, seperti pada gambar berikut:
Gambar 1. Setelah diputar, mobil 321 menjadi 123.
Seperti pada gambar, pertemuan mobil $321$ dengan mobil $45$ di atas jembatan menyebabkan kemacetan. Kita dapat memutar bagian yang memuat $321$, sehingga urutan mobil menjadi $12345$ dan semuanya menghadap ke arah yang sama. Dengan demikian, mereka dapat meninggalkan jembatan. Tentu saja, ini hanya contoh sederhana. Keadaan di jembatan sebenarnya jauh lebih rumit dan membutuhkan beberapa kali putaran untuk mencapai bentuk $12345$.
Namun, setelah selesai merancang jembatan, perancangnya juga pergi bepergian. Tidak ada penduduk yang tersisa yang dapat mengoperasikan jembatan ajaib tersebut. Keadaan di atas jembatan pun semakin kacau, hingga akhirnya mencapai keadaan sekarang. Untuk menyeberang, Kino menemukan alat kendali dan buku petunjuk jembatan di dekatnya, lalu menemukan kembali cara mengoperasikannya. Dengan bantuan penduduk sekitar, ia berhasil mengurutkan mobil menjadi $1,2,3,\ldots$, semuanya menghadap ke arah yang sama. Tahukah kamu bagaimana ia melakukannya?
Masukan
Ini adalah soal pengumpulan jawaban. Berkas masukan convertible1.in hingga convertible10.in telah ditempatkan di direktori pengguna. Baris pertama setiap berkas berisi jumlah mobil di atas jembatan, $n$, yang diberi nomor $1,2,\ldots,n$. Baris kedua menyatakan posisi dan arah mobil di atas jembatan dengan urutan $+i$ atau $-i$. Nilai $-i$ pada posisi ke-$j$ berarti mobil $i$ berada di posisi ke-$j$ pada jembatan dan menghadap ke kanan. Nilai $+i$ pada posisi ke-$j$ berarti mobil $i$ berada di posisi ke-$j$ dan menghadap ke kiri.
Keluaran
Tempatkan berkas keluaran convertible1.out hingga convertible10.out di direktori pengguna; kamu tidak perlu mengumpulkan program. Baris pertama setiap berkas keluaran berisi jumlah putaran $m$. Masing-masing dari $m$ baris berikutnya menyatakan satu putaran, berupa posisi batas kiri dan batas kanan. Keluaranmu harus memastikan bahwa urutan akhirnya adalah $1,2,3,\ldots,n$, bukan $-1,-2,-3,\ldots,-n$ ataupun urutan lainnya.
Contoh
Masukan 1
5 -3 -2 -1 4 5
Keluaran 1
1 1 3
Penilaian
Nilai penuh setiap kasus uji adalah 10 poin. Nilai yang diperoleh bergantung pada perbandingan kualitas jawabanmu dengan jawaban acuan.
Cara menguji program
Soal ini menyediakan pemeriksa data keluaran convertible_c, yang dijalankan sebagai berikut:
#./convertible_c 3
Perintah tersebut memeriksa apakah convertible3.out valid.