AT_jsc2023_final_g Fusion
Description
$ 1 $ から $ N $ までの番号のついた $ N $ 頂点からなる木 $ T $ があります. $ i $ 番目の辺は頂点 $ A_i $ と $ B_i $ を結んでいます. また,各頂点には整数が書かれており,頂点 $ i $ に書かれている整数は $ V_i $ です.
あなたは今から以下の操作を $ N-1 $ 回行います.
- $ T $ の辺を $ 1 $ つ選び,縮約する. 縮約前の $ 2 $ つの頂点に書かれていた整数を $ x,y $ とおき,縮約後の頂点には $ x \times y+1 $ を書き込む.
操作を行う方法は $ (N-1)! $ 通りあります. 全ての方法について,最終的に残る $ 1 $ 頂点に書かれた値を求めたとします. これら $ (N-1)! $ 個の値の総和を $ 998244353 $ で割った余りを求めてください.
辺の縮約とはグラフ $ G $ について,辺 $ (u,v) $ を縮約する操作とは,頂点 $ u,v $ を $ 1 $ つの頂点にまとめる操作です. より正確には,縮約とは $ G $ を以下のように変化させる操作です.
- $ G $ から辺 $ (u,v) $ および頂点 $ u,v $ を削除し,新しい頂点 (これを $ w $ と呼ぶ) を追加する.
- $ u $ に接続する各辺 $ (u,x) $ を削除し,変わりに辺 $ (w,x) $ を追加する.
- $ v $ に接続する各辺 $ (v,x) $ を削除し,変わりに辺 $ (w,x) $ を追加する.
Input Format
入力は以下の形式で標準入力から与えられる.
> $ N $ $ V_1 $ $ V_2 $ $ \cdots $ $ V_N $ $ A_1 $ $ B_1 $ $ A_2 $ $ B_2 $ $ \vdots $ $ A_{N-1} $ $ B_{N-1} $
Output Format
答えを出力せよ.
Explanation/Hint
### Sample Explanation 1
操作を行う方法は以下の $ 2 $ 通りあります.
- 最初の操作で辺 $ (1,2) $ を選んだ場合,縮約後の頂点には $ 1 \times 2+1=3 $ が書き込まれます. 次の操作では,縮約によってできた頂点と頂点 $ 3 $ を縮約します. すると, $ 3 \times 3+1=10 $ が書かれた頂点が残ります.
- 最初の操作で辺 $ (3,2) $ を選んだ場合,縮約後の頂点には $ 3 \times 2+1=7 $ が書き込まれます. 次の操作では,縮約によってできた頂点と頂点 $ 1 $ を縮約します. すると, $ 7 \times 1+1=8 $ が書かれた頂点が残ります.
よって求める答えは $ 10+8=18 $ です.
### Constraints
- $ 1 \leq N \leq 5000 $
- $ 1 \leq V_i < 998244353 $
- $ 1 \leq A_i,B_i \leq N $
- 入力されるグラフは木.
- 入力される値はすべて整数.