#P9217. 树

因为是普及组模拟,所以没有背景。

题目描述

给出一棵nn个节点的树,节点标号为11nn,第ii个点有点权wiw_i

定义一个点的集合的能量值是集合中所有点点权和的平方。

现在你要求出树上所有连通块的能量值的和。

树上一个点的集合是连通块,当且仅当只保留两个端点都在集合内的边后,该集合仍然连通。

由于答案可能很大,你只需要输出它模998244353998244353的值。

输入格式

第一行一个正整数nn,表示节点数目。

接下来一行nn个整数wiw_i,表示第ii个点的点权是wiw_i

接下来n1n-1行,第ii行两个正整数ui,viu_i,v_i,表示树上有一条uiu_iviv_i之间的边。

保证给出的边形成一棵树。

输出格式

一行一个整数,表示答案模998244353998244353的值。

样例输入1

4
1 2 3 4
1 3
2 3
4 3

样例输出1

401

样例2

见下发文件的ex_tree2.inex_tree2.out

数据范围

本题采取子任务评测。

对于20%20 \%的数据,n18n\leq 18

对于30%30\%的数据,n1000n\leq1000

对于另外20%20\%的数据,2in,wi=0\forall 2\leq i\leq n,w_i=0

对于另外20%20\%的数据,ui=iu_i=ivi=i+1v_i=i+1

对于100%100\%的数据,1n1051 \leq n\leq10^50wi<9982443530 \leq w_i < 998244353

时间限制:1s

空间限制:512MB

本题下发文件