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 $ を出力します。