编程题
### 问题描述
给定一个具有 $n$ 个节点的树,节点 $i$ 有一个权值 $a_i$ 。定义一个树上连通块的权值为连通块内的点的权值和。求树上所有联通块的权值和,答案对 $998244353$ 取模。
### 输入格式
第一行输入一个数 $n$ ,代表树的节点个数。
接下来输入 $n-1$ 行每行输入两个数 $u_i$ 和 $v_i$,代表树上的一条边。
接下来输入 $n$ 个数,第 $i$ 个数为 $a_i$,代表第 $i$ 个节点的权值。
### 输出格式
输出仅一行,包含一个整数,表示答案对 $998244353$ 取模后的结果。
### 样例输入
```text
5
1 2
1 3
3 4
3 5
1 1 1 1 1
```
### 样例输出
```text
42
```
### 评测数据规模
对于 $50$% 的评测数据,$1 \le n \le 10^3 ,1\le u_i,v_i\le n ,1\le a_i \le 10^3$。
对于 $100$% 的评测数据,$1 \le n \le 2\times10^5 ,1\le u_i,v_i\le n ,1\le a_i \le 10^9$。