Goran está a recuperar de uma cirurgia ao joelho e está a fazer experiências com um cartão inteligente usado para armazenar chaves criptográficas. Neste problema, uma chave é uma cadeia de bits de comprimento $3n$, onde $n$ é um inteiro positivo. Os bits da chave são indexados com os inteiros de $1$ a $3n$, da esquerda para a direita. O peso de uma chave é o número de pares de bits vizinhos diferentes, acrescido de um. Por exemplo, o peso da chave 000 é $1$, enquanto o peso da chave 011010100 é $7$.
Ele descobriu que pode alterar a chave enviando pequenos impulsos elétricos pelos circuitos do cartão inteligente. Em particular, consegue realizar de forma fiável a seguinte operação: escolher dois bits vizinhos quaisquer da chave e inverter ambos. Por exemplo, uma operação pode transformar a chave 000 em 110.
Dada uma chave de comprimento $3n$, encontre qualquer sequência de, no máximo, $n$ operações que transforme a chave dada numa chave de peso pelo menos $2n$. Pode assumir que existe sempre uma solução.
Entrada
A primeira linha contém uma cadeia composta pelos dígitos 0 e 1: a chave inicial. O comprimento da chave é $3n$, onde $n$ é um inteiro positivo tal que $1 \le n \le 100\,000$.
Saída
A primeira linha deve conter um inteiro $m$, com $0 \le m \le n$: o número de operações da sua solução. A linha seguinte deve conter $m$ inteiros $a_1,a_2,\ldots,a_m$ que descrevem a sua solução. O número $a_k$ é o índice do bit da esquerda dos dois bits invertidos no $k$-ésimo passo.
Se a chave inicial já tiver peso pelo menos $2n$, pode imprimir apenas o inteiro $0$.
Exemplos
Entrada 1
000000000
Saída 1
3 2 5 6
Entrada 2
111001000111
Saída 2
2 3 9
Entrada 3
010101
Saída 3
0