有向树
题号:NC248620
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小松鼠喜欢在树上玩,玩着玩着他想出了一个问题!

有一棵 n 个点的树,每个点有点权 a_i
给出 n-1 条可以改变方向的有向边,显然一共有 种状态。
在某种状态下,若 u 能到达 v,则此状态的权值增加
种状态的权值之和,答案对 998244353 取模。

输入描述:

输入共  行。
第一行一个数表示 ,接下来 n-1 行每行两个数表示树上的边结构,最后一行一共 n 个数表示每个点的点权

输出描述:

输出共一行一个数表示  种状态的权值之和取模后的结果。
示例1

输入

复制
3
1 2
2 3
3 1 2

输出

复制
14

说明