AT_abc248_g [ABC248G] GCD cost on the tree

题目描述

给定一颗树有 $n$ 个结点,每个结点上有一个权值 $a_i$, 对于每条**至少包含两个点**的**简单路径**,它的贡献为 路径上点的数量(包括端点)$\times$路径上所有点的 $a_i$ 的最大公约数(gcd)。 求所有简单路径的贡献之和,对 $998244353$ 取模。

输入格式

第一行输入 $n$,随后一行 $n$ 个正整数$a_i$ 。 然后 $n-1$ 行每行一条边 $(u_i,v_i)$ 表示这棵树。

输出格式

输出答案所求,$\bmod \ 998244353$ 。 ##### 样例解释 #1 记 $C(i,j)$ 表示从 $i$ 到 $j$ 的路径的贡献。 $C(1,2)=2\times \gcd(24,30)=12$ $C(1,3)=2\times \gcd(24,28)=8$ $C(1,4)=3\times \gcd(24,28,7)=3$ $C(2,3)=3\times \gcd(30,24,28)=6$ $C(2,4)=4\times \gcd(30,24,28,7)=4$ $C(3,4)=2\times \gcd(28,7)=14$ 总和为 $\displaystyle\sum_{i=1}^{3}\sum_{j=i+1}^4 C(i,j)=(12+8+3)+(6+4)+14=47$.

说明/提示

$2 \le n \le 10^5$ $1 \le a_i \le 10^5$