#codethanksfestival2017e. [code_thanks_festival_2017_e]Coin Authentication
[code_thanks_festival_2017_e]Coin Authentication
問題文
これはインタラクティブな問題です。
イルカは街中でコインが入った 個の袋を見つけました。
番目の袋の中に重さ グラムのコインが 枚入っています。
ここで、イルカは街で偽物コインが多く流通していることを思い出しました。
個の袋のうち、いくつかの袋は偽物コインだけが入った袋かもしれません。
イルカは本物コインの袋を探そうとしています。
これらのコインの見た目は全く同じですが、本物コインと偽物コインでその重さが異なります。
本物コインの重さは グラム、または グラムであり、偽物コインの重さは グラム、 グラム、または グラムであることが知られています。
イルカは袋に入っているコインの重さ を全く知りません。
イルカは友達のシャチから、はかりを借りることにしました。
はかりを利用して、コインの計測は以下の手順で行います。
- それぞれの袋について、整数 を決めます。
- 番目の袋から 枚のコインを取り出して、はかりに乗せます。
- その後に計測を行い、はかりの上に乗せたコインの重さの合計を知ることができます。
- 最後に、はかりに乗せたコインを元の袋に戻します。
しかし、シャチはとても忙しいのでイルカは 高々 回のコイン計測しかできません。
どの袋に本物コインが含まれているかを判定してください。
制約
- と は全て整数
入出力
最初に、標準入力から が以下の形式で与えられる:
次に、あなたはクエリを質問して、コインの計測を行う。
このクエリは高々 回まで出力することができる。
各クエリでは、はかりの上に乗せるコインの枚数を以下の形式で標準出力へ出力しなければならない:
?
ここで は、 はかりの上に乗せる 番目の袋のコインの枚数であり、 以上 以下の整数でなければならない。
その後、クエリの答えが標準入力から以下の形式で与えられる:
ここで は非負の整数であり、はかりの計測結果が グラムであることを表す。
最後に、答えを以下の形式で出力しなければならない:
!
ここで は 番目の袋に入っているコインが本物コインなら 1
、偽物コインなら 0
でなければならない。
なお、答えの出力はコインの計測を行う質問クエリの回数制限に含まれない。
ジャッジ
- 出力の最後に改行を含めて出力しなければならない。そのあと、標準出力を flush しなければならない。 そうでないときは
TLE
の可能性がある。 - 答えを出力した後、プログラムをすぐに終了しなければならない。そうでないときの挙動は定義されていない。
- 出力の答えが間違っている場合の挙動は定義されていない (
WA
とは限らない)。
サンプル
このサンプルでは , , , , , で、答えは 0 1 0 1 0
である。
Input
Output