#abc299d. [abc299_d]Find by Query

[abc299_d]Find by Query

問題文

この問題は インタラクティブな問題(あなたが作成したプログラムとジャッジプログラムが標準入出力を介して対話を行う形式の問題)です。

ジャッジが 0011 のみからなる長さ NN の文字列 S=S1S2ldotsSNS = S_1S_2\\ldots S_N を持っています。 文字列 SS は、S1=0S_1 = 0 および SN=1S_N = 1 を満たします。

あなたには SS の長さ NN が与えられますが、SS 自体は与えられません。 その代わり、あなたはジャッジに対して以下の質問を 2020 回まで行うことができます。

  • 1leqileqN1 \\leq i \\leq N を満たす整数 ii を選び、SiS_i の値を尋ねる。

1leqpleqN11 \\leq p \\leq N-1 かつ SpneqSp+1S_p \\neq S_{p+1} を満たす整数 pp11 個出力してください。
なお、本問題の条件下でそのような整数 pp が必ず存在することが示せます。

制約

  • 2leqNleq2times1052 \\leq N \\leq 2 \\times 10^5

入出力

最初に、文字列 SS の長さ NN を標準入力から受け取ってください。

NN

次に、あなたはジャッジに対して問題文中の質問を 2020 回まで繰り返すことができます。

質問は、以下の形式で標準出力に出力してください。 ここで、ii1leqileqN1 \\leq i \\leq N を満たす整数でなければなりません。

? ii

これに対する応答として、SiS_i の値が次の形式で標準入力から与えられます。

SiS_i

ここで、SiS_i00 または 11 です。

問題文中の条件を満たす整数 pp を見つけたら、解答を以下の形式で出力してください。 その後、ただちにプログラムを終了してください。

! pp

答えが複数ある場合、どれを出力しても正解とみなされます。

注意点

  • 出力を行うたびに、末尾に改行を入れて標準出力を flush してください。そうしなかった場合、ジャッジ結果が TLE