Goran sedang memulihkan diri setelah operasi lutut dan bereksperimen dengan kartu pintar yang digunakan untuk menyimpan kunci kriptografi. Dalam soal ini, sebuah kunci adalah string bit sepanjang $3n$, dengan $n$ bilangan bulat positif. Bit-bit kunci diberi indeks berupa bilangan bulat $1$ hingga $3n$ dari kiri ke kanan. Bobot kunci adalah jumlah pasangan bit bertetangga yang berbeda, ditambah satu. Sebagai contoh, bobot kunci 000 adalah 1, sedangkan bobot kunci 011010100 adalah 7.
Ia menemukan bahwa ia dapat memanipulasi kunci dengan mengirimkan sentakan listrik kecil melalui rangkaian kartu pintar. Secara khusus, ia dapat melakukan operasi berikut dengan andal: pilih sembarang dua bit bertetangga pada kunci dan balikkan keduanya. Misalnya, satu operasi dapat mengubah kunci 000 menjadi 110.
Diberikan kunci sepanjang $3n$, carilah sembarang urutan yang terdiri dari paling banyak $n$ operasi untuk mengubah kunci tersebut menjadi kunci dengan bobot setidaknya $2n$. Anda dapat mengasumsikan bahwa solusi selalu ada.
Masukan
Baris pertama berisi string yang terdiri dari digit 0 dan 1, yaitu kunci awal. Panjang kunci adalah $3n$, dengan $n$ bilangan bulat positif yang memenuhi $1 \le n \le 100\,000$.
Keluaran
Baris pertama harus berisi bilangan bulat $m$ dengan $0 \le m \le n$, yaitu jumlah operasi dalam solusi Anda. Baris berikutnya harus berisi $m$ bilangan bulat $a_1,a_2,\ldots,a_m$ yang mendeskripsikan solusi Anda. Bilangan $a_k$ adalah indeks bit sebelah kiri dari dua bit yang dibalik pada langkah ke-$k$.
Jika kunci awal sudah memiliki bobot setidaknya $2n$, Anda boleh mengeluarkan hanya bilangan bulat 0.
Contoh
Masukan 1
000000000
Keluaran 1
3 2 5 6
Masukan 2
111001000111
Keluaran 2
2 3 9
Masukan 3
010101
Keluaran 3
0