AT_abc337_e [ABC337E] Bad Juice

Description

[problemUrl]: https://atcoder.jp/contests/abc337/tasks/abc337_e この問題は **インタラクティブな問題**(あなたが作成したプログラムとジャッジプログラムが標準入出力を介して対話を行う形式の問題)です。 $ 1 $ から $ N $ の番号がついた $ N $ 本のジュースがあります。 このうちちょうど $ 1 $ 本が腐っていることが判明しました。 そのジュースを微量でも飲むと、翌日お腹を壊してしまいます。 高橋君は翌日までに腐ったジュースを特定しなければなりません。 高橋君はそのために**必要な最小の数**の友人を呼び、それぞれに $ N $ 本のジュースのうちの一部を振る舞うことにしました。 各友人には何本でもジュースを与えることができ、各ジュースは何人の友人にでも与えることができます。 呼ぶ友人の数とジュースの与え方を出力して、翌日に各友人がお腹を壊したかどうかの情報を受け取り、腐ったジュースの番号を出力してください。 ### Input & Output Format この問題はインタラクティブな問題(あなたが作成したプログラムとジャッジプログラムが標準入出力を介して対話を行う形式の問題)です。 対話を行う前にジャッジは、腐ったジュースの番号 $ X $ として $ 1 $ 以上 $ N $ 以下の整数を秘密裏に選択します。 $ X $ の値はあなたには与えられません。また、**対話の途中で $ X $ の値が制約および以前の出力に矛盾しない範囲で変わる場合があります。** まず、ジャッジから $ N $ が入力から与えられます。 > $ N $ あなたは呼ぶ友人の数 $ M $ を出力し改行してください。 > $ M $ さらに、あなたは次に述べる $ M $ 回の出力からなる手続きを行ってください。 $ i\ =\ 1,\ 2,\ \ldots,\ M $ について $ i $ 回目の出力では、 $ i $ 番目の友人に飲ませるジュースの本数 $ K_i $ および、それら $ K_i $ 本のジュースの番号を**昇順に**並べた列 $ A_{i,\ 1},\ A_{i,\ 2},\ \ldots,\ A_{i,\ K_i} $ を下記の形式で空白区切りで出力し、改行してください。 > $ K_i $ $ A_{i,\ 1} $ $ A_{i,\ 2} $ $ \ldots $ $ A_{i,\ K_i} $ その後ジャッジから、各友人が翌日にお腹を壊したかどうかの情報が、`0` と `1` のみからなる長さ $ M $ の文字列 $ S $ として与えられます。 > $ S $ $ i\ =\ 1,\ 2,\ \ldots,\ M $ について、$ S $ の $ i $ 文字目が `1` のとき、かつそのときに限り、$ i $ 番目の友人がお腹を壊したことを表します。 それに対し、あなたは腐ったジュースの番号 $ X' $ を出力し、改行してください。 > $ X' $ その後、直ちにプログラムを終了してください。 あなたが出力した $ M $ が $ N $ 本のジュースから腐ったジュースを特定するために**必要な最小の**友人の数であり、かつ、あなたが出力した $ X' $ が腐ったジュースの番号 $ X $ と一致していれば、正解となります。

Input Format

N/A

Output Format

N/A

Explanation/Hint

### 制約 - $ N $ は整数 - $ 2\ \leq\ N\ \leq\ 100 $ ### 注意点 - **出力を行うたびに、末尾に改行を入れて標準出力を flush してください。そうしなかった場合、ジャッジ結果が TLE となる可能性があります。** - **対話の途中で不正な出力を行った、あるいはプログラムが途中で終了した場合のジャッジ結果は不定です。** 特に、プログラムの実行中に実行時エラーが起こった場合に、ジャッジ結果が RE ではなく WA や TLE になる可能性があることに注意してください。 - $ X' $ を出力したらただちにプログラムを終了してください。そうしない場合、ジャッジ結果は不定です。 - **この問題のジャッジはアダプティブです。つまり、制約および以前の出力に矛盾しない範囲で $ X $ の値が変わる場合があります。** ### 入出力例 以下は、$ N\ =\ 3 $ の場合の入出力例です。 入力 出力 説明 `3` ジュースの本数 $ N $ が与えられます。 `2` 呼ぶ友人の数 $ M $ を出力します。 `2 1 2` $ 1 $ 人目の友人にジュース $ 1 $ とジュース $ 2 $ を与えます。 `1 2` $ 2 $ 人目の友人に、ジュース $ 2 $ を与えます。 `10` 翌日に各友人がお腹を壊したかどうかを表す文字列 $ S $ が与えられます。 `1` 腐ったジュースの番号を出力します。