AT_arc215_b [ARC215B] Stolen Necklace
Description
$ 2N $ 個の宝石が左右一列に並んでおり、左から $ i $ 番目の宝石の種類は $ A_i $ です。ここで、 $ A_i $ は $ 1 $ 以上 $ N $ 以下の整数であり、どの種類の宝石も $ 2 $ つずつ存在します。
ここに以下の条件を満たすように仕切りを入れたいです。
- それぞれの仕切りの位置は整数 $ i $ ( $ 1 \le i \le 2N - 1 $ ) により表され、左から $ i $ 番目の宝石と $ i + 1 $ 番目の宝石の間を仕切ることを意味する。
- 同じ位置に $ 2 $ つ以上の仕切りは存在しない。
- 仕切りの個数 $ K $ は $ N $ 以下である。
- 仕切りを $ K $ 個入れることにより、宝石の列は $ K + 1 $ 個の区間に分かれる。このとき、左から奇数番目の区間にある宝石をすべて集めると、種類 $ 1,2,\ldots,N $ の宝石がちょうど $ 1 $ つずつ得られる。
この条件を満たすように仕切りを入れる方法を $ 1 $ つ出力してください。ただし、このような方法が必ず存在することが証明できます。
$ T $ 個のテストケースが与えられるので、それぞれについて答えを求めて下さい。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ T $ $ \text{case}_1 $ $ \text{case}_2 $ $ \vdots $ $ \text{case}_T $
各テストケースは以下の形式で与えられる。
> $ N $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_{2N} $
Output Format
$ T $ 個のテストケースについて順に出力せよ。
各テストケースについて、条件を満たす仕切りの入れ方を出力せよ。 具体的には、仕切りの個数を $ K $ 、仕切りを入れる位置を**昇順に** $ C_1,C_2,\ldots,C_K $ として、以下の形式で出力せよ。
> $ K $ $ C_1 $ $ C_2 $ $ \ldots $ $ C_K $
ここで $ K $ は $ N $ 以下である必要がある。
Explanation/Hint
### Sample Explanation 1
$ 1 $ つ目のテストケースについては、位置 $ 1,2,4 $ で仕切ることによって、宝石は $ (1),(2),(2,3),(3,1) $ のように区間に分かれ、左から奇数番目の区間にある宝石をすべて集めると、種類 $ 1,2,3 $ の宝石がちょうど $ 1 $ つずつ得られます。
### Constraints
- $ 1 \le T \le 10^5 $
- $ 1 \le N \le 2 \times 10^5 $
- $ 1 \le A_i \le N $ ( $ 1 \le i \leq 2N $ )
- どの種類の宝石も $ 2 $ つずつ存在する、つまり各 $ x $ ( $ 1 \le x \le N $ ) について、 $ A_i = x $ なる $ i $ はちょうど $ 2 $ つ
- 全てのテストケースにおける $ N $ の総和は $ 2 \times 10^5 $ 以下
- 入力される値は全て整数