AT_nupc2024_f Labeled Tree Distance

Description

$ N $ 頂点の木 $ T $ が与えられます。辺 $ i $ は頂点 $ u_i $ と $ v_i $ を結んでいます。 最初、頂点 $ i $ は色 $ A_i $ で塗られています。 $ Q $ 個のクエリが与えられるので、順番に処理してください。クエリは次の $ 2 $ 種類のいずれかです。 - `1 k x`: 頂点 $ k $ を色 $ x $ で塗る - `2 y`: 色 $ y $ で塗られている $ 2 $ 頂点の距離の最大値を出力する ここで、 $ 2 $ 頂点 $ (u,v) $ の距離とは、 $ u $ と $ v $ を両端点とするパスに含まれる辺の本数です。

Input Format

入力は以下の形式で標準入力から与えられます。 > $ N $ $ u_1 $ $ v_1 $ $ u_2 $ $ v_2 $ $ \vdots $ $ u_{N-1} $ $ v_{N-1} $ $ A_1\ A_2\ \ldots\ A_N $ $ Q $ $ \mathrm{query}_1 $ $ \mathrm{query}_2 $ $ \vdots $ $ \mathrm{query}_Q $ ここで、 $ \mathrm{query}_i $ は $ i $ 個目のクエリであり、以下のいずれかの形式で与えられます。 > $ 1 $ $ k $ $ x $ > $ 2 $ $ y $

Output Format

2番目の形式のクエリの回数を $ q $ として $ q $ 行出力してください。 $ j (1\leq j \leq q) $ 行目では $ 2 $ 番目の形式のクエリのうち $ j $ 個目のものに対する答えを出力してください。

Explanation/Hint

### Sample Explanation 1 最初、全てのマスが色 $ 1 $ で塗られています。このとき、色 $ 1 $ で塗られている $ 2 $ 頂点のうち、頂点 $ 1 $ と頂点 $ 3 $ の距離が最大となり、その距離は $ 2 $ です。 その後、頂点 $ 1 $ が色 $ 2 $ で塗られると、色 $ 1 $ で塗られている頂点では頂点 $ 2 $ と頂点 $ 3 $ の距離である $ 1 $ が最大となります。 ### Constraints - $ 2 \le N \le 10^5 $ - $ 1 \le u_i,v_i \le N $ - $ 1 \le A_i \le N $ - $ 1 \le Q \le 10^5 $ - $ 1 \le k \le N $ - $ 1 \le x \le N $ - $ 1 \le y \le N $ - クエリ`2 y`が与えられるとき、色 $ y $ で塗られている頂点が $ 2 $ つ以上存在する - 入力は全て整数である - 与えられるグラフは木である