これはインタラクティブな問題です!
$N$ 個の互いに異なる正の整数からなる隠された配列 $a_1, a_2, \dots, a_N$ があります(ここで $N$ は奇数です)。この配列の不正確なコピーが別の隠された配列 $b$ に格納されています。配列 $b$ の各要素は次のように定義されます:
- $b_1 = a_2$
- $b_N = a_{N-1}$
- $1 < i < N$ を満たす各 $i$ について、$b_i = a_{i-1}$ または $b_i = a_{i+1}$(隣接する要素のいずれか)
$b_i = b_j$ となる 2 つの添字 $i$ と $j$($i \neq j$, $1 \le i, j \le N$)が存在するかどうかを判定する必要があります。そのような添字が存在する場合はそれらを返し、そうでない場合は存在しないことを示してください。
以下の操作を使用して配列 $a$ と $b$ の要素にクエリを送ることができます:
1 i: $a_i$ の値($1 \le a_i \le 10^9$)を返します2 i: $b_i$ の値($1 \le b_i \le 10^9$)を返します
クエリは最大で 20 回まで行うことができます。
入出力の方法
最初に、テストケースの数を表す単一の整数 $T$($1 \le T \le 100$)を含む 1 行を読み込む必要があります。
続いて、$T$ 個のテストケースに対するやり取りが行われます。
各テストケースについて、まず 1 つの整数 $N$($3 \le N \le 2\,001$、$N$ は奇数)を含む 1 行を読み込む必要があります。
その後、やり取りが始まります。以下のいずれかを含む 1 行を出力できます:
1 x($a_x$ について質問する):その後、1 つの整数 $a_x$ からなる 1 行を読み込みます。2 x($b_x$ について質問する):その後、1 つの整数 $b_x$ からなる 1 行を読み込みます。3 i j(解答:$b_i = b_j$ となる 2 つの添字 $i, j$、またはそのような 2 つの添字が存在しない場合は-1 -1):その後、次のテストケースがあれば進み、なければ終了します。
各行を出力した後、出力をフラッシュすることを忘れないでください。例えば:
- C/C++ では
fflush(stdout); - Java では
System.out.flush(); - Python では
sys.stdout.flush(); - Pascal では
flush(output); - 他の言語についてはドキュメントを参照してください。
出力例
入力 1
1 7 2 2
出力 1
2 3 2 1 3 1 3