Goran 做完膝頭手術,正喺康復期間,佢用一張儲存密碼學金鑰嘅智能卡做實驗。喺呢題入面,金鑰係一個長度為 $3n$ 嘅位元字串,其中 $n$ 係正整數。金鑰嘅各個位元由左至右用整數 $1$ 至 $3n$ 編號。金鑰嘅權重係相鄰而且唔同嘅位元對數再加一。例如,金鑰 000 嘅權重係 $1$,而金鑰 011010100 嘅權重係 $7$。
佢發現,向智能卡嘅電路發送細小電流脈衝,就可以竄改金鑰。具體嚟講,佢可以可靠咁執行以下操作:任揀金鑰入面兩個相鄰位元,將兩者一齊翻轉。例如,一次操作可以將金鑰 000 變成 110。
畀定一個長度為 $3n$ 嘅金鑰,求任意一個最多包含 $n$ 次操作嘅序列,將畀定金鑰變成權重至少為 $2n$ 嘅金鑰。你可以假設一定有解。
輸入格式
第一行包含一個由數字 0 同 1 組成嘅字串,表示初始金鑰。金鑰長度為 $3n$,其中 $n$ 係滿足 $1 \le n \le 100\,000$ 嘅正整數。
輸出格式
第一行應該包含一個整數 $m$,其中 $0 \le m \le n$,表示你嘅方案嘅操作次數。下一行應該包含 $m$ 個整數 $a_1,a_2,\ldots,a_m$,描述你嘅方案。$a_k$ 係第 $k$ 步翻轉嘅兩個位元之中,左邊嗰個嘅編號。
如果初始金鑰嘅權重已經至少係 $2n$,你可以只輸出整數 $0$。
範例
輸入格式 1
000000000
輸出格式 1
3 2 5 6
輸入格式 2
111001000111
輸出格式 2
2 3 9
輸入格式 3
010101
輸出格式 3
0