Goran se está recuperando de una operación de rodilla y está experimentando con una tarjeta inteligente utilizada para almacenar claves criptográficas. En este problema, una clave es una cadena de bits de longitud $3n$, donde $n$ es un entero positivo. Los bits de la clave se indexan con los enteros del $1$ al $3n$, de izquierda a derecha. El peso de una clave es el número de pares de bits vecinos distintos, aumentado en uno. Por ejemplo, el peso de la clave 000 es $1$, mientras que el peso de la clave 011010100 es $7$.
Ha descubierto que puede alterar la clave enviando pequeñas descargas eléctricas a través de los circuitos de la tarjeta inteligente. En particular, puede realizar de forma fiable la operación siguiente: elegir dos bits vecinos cualesquiera de la clave e invertir ambos. Por ejemplo, una operación puede cambiar la clave 000 a 110.
Dada una clave de longitud $3n$, encuentra cualquier secuencia de como máximo $n$ operaciones que transforme la clave dada en una clave de peso al menos $2n$. Puedes suponer que siempre existe una solución.
Entrada
La primera línea contiene una cadena formada por los dígitos 0 y 1: la clave inicial. La longitud de la clave es $3n$, donde $n$ es un entero positivo tal que $1 \le n \le 100\,000$.
Salida
La primera línea debe contener un entero $m$, donde $0 \le m \le n$: el número de operaciones de tu solución. La línea siguiente debe contener $m$ enteros $a_1,a_2,\ldots,a_m$ que describan tu solución. El número $a_k$ es el índice del bit de la izquierda de los dos bits que se invierten en el $k$-ésimo paso.
Si la clave inicial ya tiene peso al menos $2n$, puedes imprimir únicamente el entero $0$.
Ejemplos
Entrada 1
000000000
Salida 1
3 2 5 6
Entrada 2
111001000111
Salida 2
2 3 9
Entrada 3
010101
Salida 3
0