AT_abc286_f [ABC286F] Guess The Number 2
Description
[problemUrl]: https://atcoder.jp/contests/abc286/tasks/abc286_f
この問題は **インタラクティブな問題**(あなたが作成したプログラムとジャッジプログラムが標準入出力を介して対話を行う形式の問題)です。
あなたとジャッジは下記の手順を行います。 手順はフェイズ $ 1 $ とフェイズ $ 2 $ からなり、まずフェイズ $ 1 $ を行った直後、続けてフェイズ $ 2 $ を行います。
(フェイズ $ 1 $ )
- ジャッジが $ 1 $ 以上 $ 10^9 $ 以下の整数 $ N $ を決める。この整数は隠されている。
- あなたは $ 1 $ 以上 $ 110 $ 以下の整数 $ M $ を出力する。
- さらにあなたは、すべての $ i\ =\ 1,\ 2,\ \ldots,\ M $ について $ 1\ \leq\ A_i\ \leq\ M $ を満たす、長さ $ M $ の整数列 $ A=(A_1,A_2,\ldots,A_M) $ を出力する。
(フェイズ $ 2 $ )
- ジャッジから、長さ $ M $ の整数列 $ B=(B_1,B_2,\ldots,B_M) $ が与えられる。ここで、 $ B_i\ =\ f^N(i) $ である。 $ f(i) $ は $ 1 $ 以上 $ M $ 以下の整数 $ i $ に対し $ f(i)=A_i $ で定められ、 $ f^N(i) $ は $ i $ を $ f(i) $ で置き換える操作を $ N $ 回行った際に得られる整数である。
- あなたは、$ B $ の情報から、ジャッジが決めた整数 $ N $ を特定し、$ N $ を出力する。
上記の手順を行った後、直ちにプログラムを終了することで正解となります。
### Input & Output Format
この問題はインタラクティブな問題(あなたが作成したプログラムとジャッジプログラムが標準入出力を介して対話を行う形式の問題)です。
(フェイズ $ 1 $ )
- まず、$ 1 $ 以上 $ 110 $ 以下の整数 $ M $ を出力してください。出力後、必ず改行してください。
> $ M $
- その後、空白区切りで $ 1 $ 以上 $ M $ 以下の整数からなる長さ $ M $ の整数列 $ A=(A_1,A_2,\ldots,A_M) $ を出力してください。出力後、必ず改行してください。
> $ A_1 $ $ A_2 $ $ \ldots $ $ A_M $
(フェイズ $ 2 $ )
- まず、長さ $ M $ の整数列 $ B=(B_1,B_2,\ldots,B_M) $ が入力から与えられます。
> $ B_1 $ $ B_2 $ $ \ldots $ $ B_M $
- 整数 $ N $ を求め、出力してください。出力後、必ず改行してください。
> $ N $
不正な出力がなされた場合、ジャッジは `-1` を出力します。この時、提出はすでに不正解と判定されています。ジャッジプログラムはこの時点で終了するため、あなたのプログラムも終了するのが望ましいです。
Input Format
N/A
Output Format
N/A
Explanation/Hint
### 制約
- $ N $ は $ 1 $ 以上 $ 10^9 $ 以下の整数
### 注意点
- **出力を行うたびに、末尾に改行を入れて標準出力を flush してください。そうしなかった場合、ジャッジ結果が TLE となる可能性があります。**
- **対話の途中で不正な出力を行った、あるいはプログラムが途中で終了した場合のジャッジ結果は不定です。**
- 答えを出力したら(または `-1` を受け取ったら)直ちにプログラムを正常終了してください。そうしなかった場合、ジャッジ結果は不定です。
- 特に、余計な改行も不正なフォーマットの出力とみなされるので注意してください。
### 入出力例
以下は、$ N\ =\ 2 $ の場合の入出力例です。
入力 出力 説明 ジャッジは $ N=2 $ と決めました。$ N $ は入力としては与えられず、隠されています。 `4` $ M $ を出力します。 `2 3 4 4` $ A=(2,3,4,4) $ を出力します。 `3 4 4 4` $ f^2(1)=3,f^2(2)=4,f^2(3)=4,f^2(4)=4 $ なので、ジャッジは $ B=(3,4,4,4) $ をあなたのプログラムに与えます。 `2` $ B $ から $ N=2 $ であると特定しました。 $ N $ を出力し、プログラムを正常終了させてください。