AT_abc329_f [ABC329F] Colored Ball
Description
[problemUrl]: https://atcoder.jp/contests/abc329/tasks/abc329_f
$ 1,\ 2,\ \ldots,\ N $ の番号がついた $ N $ 個の箱があり、はじめ箱 $ i $ には色 $ C_i $ のボールが $ 1 $ つ入っています。
$ Q $ 個のクエリが与えられるので、これらを順に処理してください。
各クエリは整数の組 $ (a,b) $ によって与えられ、その内容は以下の通りです。
- 箱 $ a $ のボールをすべて箱 $ b $ に移し、その後箱 $ b $ に何種類の色のボールが入っているかを出力する。
ただし、箱 $ a $ や箱 $ b $ が空の場合もあることに注意してください。
Input Format
入力は以下の形式で標準入力から与えられる。ここで、 $ \text{query}_i $ は $ i $ 番目のクエリを意味する。
> $ N $ $ Q $ $ C_1 $ $ C_2 $ $ \ldots $ $ C_N $ $ \text{query}_1 $ $ \text{query}_2 $ $ \vdots $ $ \text{query}_Q $
各クエリは次の形式で与えられる。
> $ a $ $ b $
Output Format
$ Q $ 行出力せよ。 $ i $ 行目には $ i $ 番目のクエリに対する答えを出力せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ N,\ Q\ \leq\ 200000 $
- $ 1\ \leq\ C_i\ \leq\ N $
- $ 1\ \leq\ a,\ b\ \leq\ N $
- $ a\ \neq\ b $
- 入力される数値はすべて整数
### Sample Explanation 1
\- $ 1 $ 番目のクエリでは、箱 $ 1 $ のボールをすべて箱 $ 2 $ に移します。箱 $ 2 $ には色 $ 1 $ のボールが $ 2 $ つ入っている状態となるため、$ 1 $ を出力します。 - $ 2 $ 番目のクエリでは、箱 $ 6 $ のボールをすべて箱 $ 4 $ に移します。箱 $ 4 $ には色 $ 2 $ のボールが $ 1 $ つ、色 $ 3 $ のボールが $ 1 $ つ入っている状態となるため、$ 2 $ を出力します。 - $ 3 $ 番目のクエリでは、箱 $ 5 $ のボールをすべて箱 $ 1 $ に移します。箱 $ 1 $ には色 $ 2 $ のボールが $ 1 $ つ入っている状態となるため、$ 1 $ を出力します。 - $ 4 $ 番目のクエリでは、箱 $ 3 $ のボールをすべて箱 $ 6 $ に移します。箱 $ 6 $ には色 $ 1 $ のボールが $ 1 $ つ入っている状態となるため、$ 1 $ を出力します。 - $ 5 $ 番目のクエリでは、箱 $ 4 $ のボールをすべて箱 $ 6 $ に移します。箱 $ 6 $ には色 $ 1 $ のボールが $ 1 $ つ、色 $ 2 $ のボールが $ 1 $ つ、色 $ 3 $ のボールが $ 1 $ つ入っている状態となるため、$ 3 $ を出力します。