AT_arc231_d [ARC231D] Choose Your Role
Description
この問題は **インタラクティブな問題** (あなたの作成したプログラムとジャッジシステムが入出力を介して対話を行う形式の問題) です.
$ 1 $ から $ N $ までの番号が付けられた $ N $ 個の山があります.また,それぞれの山には石が $ N - 1 $ 個ずつあります.
これらを用いて先手と後手でゲームを行うことを考えます.ゲームでは先手から交互に手番を行います.
- 先手は石が $ 1 $ つ以上存在する山を $ 1 $ 個選ぶ.そこから $ 1 $ 個以上 $ K $ 個以下の石を取り除く.
- 後手は石が $ 1 $ つ以上存在する山を $ 1 $ 個以上 $ K $ 個以下選ぶ.それらから石を $ 1 $ 個ずつ取り除く.
先に操作ができなくなった方の負けです.あなたはこのゲームをジャッジと対戦します.まず,ジャッジにあなたが先手となるか後手となるかを宣言し,その後ゲームを行ってください.
### Input & Output Format
この問題はインタラクティブな問題 (あなたの作成したプログラムとジャッジシステムが入出力を介して対話を行う形式の問題) です.
最初に, $ N, K $ が以下の形式で与えられるので標準入力から受け取ってください.
> $ N $ $ K $
#### 先手として対戦する場合
- まず `First` を出力して改行してください.
- 次に,ゲームが終了するまで以下のやり取りを繰り返してください.
- まず,あなたが取る先手の行動を出力してください.山 $ i $ から石を $ j $ 個取り除く場合, $ i, j $ をこの順に空白区切りで出力して改行してください.
- 次に,ジャッジが取る後手の行動を受け取ってください.まず,整数 $ k $ を受け取ってください.意味は以下の通りです.
- $ k = -1 $ : あなたがこの問題で不正解と判定されたことを示します.ただちにプログラムを終了してください.
- $ k = 0 $ : あなたがこの問題で正解と判定されたことを示します.ただちにプログラムを終了してください.
- $ k > 0 $ : 続いて, $ k $ 個の整数 $ a_1, a_2, \cdots, a_k $ が空白区切りで与えられます.これは,後手が山 $ a_1, a_2, \cdots, a_k $ から $ 1 $ 個ずつ石を取り除くことを示します.
#### 後手として対戦する場合
- まず `Second` を出力して改行してください.
- 次に,ゲームが終了するまで以下のやり取りを繰り返してください.
- まず,ジャッジが取る先手の行動を受け取ってください. $ 2 $ つの整数 $ i, j $ を受け取ってください.意味は以下の通りです.
- $ i = -1 $ : このとき, $ j = -1 $ です.あなたがこの問題で不正解と判定されたことを示します.ただちにプログラムを終了してください.
- $ i = 0 $ : このとき, $ j = 0 $ です.あなたがこの問題で正解と判定されたことを示します.ただちにプログラムを終了してください.
- $ i > 0 $ : これは,先手が山 $ i $ から $ j $ 個の石を取り除いたことを示します.
- 次に,あなたが取る後手の行動を出力してください.山 $ a_1, a_2, \cdots, a_k $ から $ 1 $ 個ずつ石を取り除く場合,まず $ k $ を出力して改行してください.その後, $ a_1, a_2, \cdots, a_k $ を空白区切りで出力して改行してください.
Input Format
N/A
Output Format
N/A
Explanation/Hint
### 注意点
- **出力を行うたびに,末尾に改行を入れて標準出力を flush してください.そうしなかった場合,ジャッジ結果が TLE となる可能性があります.**
- あなたがゲームで勝利した場合,正解と判定されます.
- あなたがゲームで負けた場合,もしくは不正な出力を行なった場合,不正解と判定されます.
- あなたがこの問題で正解もしくは不正解と判定されたことをジャッジから受け取ったら,ただちにプログラムを終了してください.そうしない場合,ジャッジ結果は不定です.
- 余計な改行は不正なフォーマットの出力とみなされることに注意してください.
### 入出力例
#### 入出力例 $ 1 $
$ N = 3, K = 2 $ として先手として対戦するときのやり取りの一例を示します.
入力 出力 説明 `3 2` まず整数 $ N, K $ が与えられます. `First` 先手として対戦することをジャッジに出力します. `3 1` 山 $ 3 $ から石を $ 1 $ 個取り除きます. `2
1 3` ジャッジは山 $ 1, 3 $ から石を $ 1 $ 個ずつ取り除きます. `1 1` 山 $ 1 $ から石を $ 1 $ 個取り除きます. `1
2` ジャッジは山 $ 2 $ から石を $ 1 $ 個取り除きます. `2 1` 山 $ 2 $ から石を $ 1 $ 個取り除きます. `0` ジャッジは操作ができなくなったので負けとなったため,あなたがゲームで勝利し正解と判定されたことを示します. #### 入出力例 $ 2 $ $ N = 2, K = 1 $ として後手として対戦するときのやり取りの一例を示します. 入力 出力 説明 `2 1` まず整数 $ N, K $ が与えられます. `Second` 後手として対戦することをジャッジに出力します. `1 1` ジャッジは山 $ 1 $ から石を $ 1 $ 個取り除きます. `1
2` 山 $ 2 $ から石を $ 1 $ 個取り除きます. `0 0` ジャッジは操作ができなくなったので負けとなったため,あなたがゲームで勝利し正解と判定されたことを示します. これらはやり取りの一例であり,実際のジャッジがこのように動作することを保証するわけではありません. ### Constraints - $ 2 \leq N \leq 200 $ - $ 1 \leq K \leq N $ - 入力される値はすべて整数である
1 3` ジャッジは山 $ 1, 3 $ から石を $ 1 $ 個ずつ取り除きます. `1 1` 山 $ 1 $ から石を $ 1 $ 個取り除きます. `1
2` ジャッジは山 $ 2 $ から石を $ 1 $ 個取り除きます. `2 1` 山 $ 2 $ から石を $ 1 $ 個取り除きます. `0` ジャッジは操作ができなくなったので負けとなったため,あなたがゲームで勝利し正解と判定されたことを示します. #### 入出力例 $ 2 $ $ N = 2, K = 1 $ として後手として対戦するときのやり取りの一例を示します. 入力 出力 説明 `2 1` まず整数 $ N, K $ が与えられます. `Second` 後手として対戦することをジャッジに出力します. `1 1` ジャッジは山 $ 1 $ から石を $ 1 $ 個取り除きます. `1
2` 山 $ 2 $ から石を $ 1 $ 個取り除きます. `0 0` ジャッジは操作ができなくなったので負けとなったため,あなたがゲームで勝利し正解と判定されたことを示します. これらはやり取りの一例であり,実際のジャッジがこのように動作することを保証するわけではありません. ### Constraints - $ 2 \leq N \leq 200 $ - $ 1 \leq K \leq N $ - 入力される値はすべて整数である