#P51309. 「联合省选 2020 A」作业题

「联合省选 2020 A」作业题

题目描述

小 W 刚刚在离散数学课学习了生成树的知识:一个无向图 G=(V,E)G = (V,E) 的生成树 TT 为边集 EE 的一个大小为 V1|V|-1 的子集,且保证 TT 的生成子图在 GG 中连通。

小 W 在做今天的作业时被这样一道题目难住了:

给定一个 nn 个顶点 mm 条边(点和边都从 11 开始编号)的无向图 GG,保证图中无重边和无自环。每一条边有一个正整数边权 wiw_i,对于一棵 GG 的生成树 TT,定义 TT 的价值为:TT 所包含的边的边权的最大公约数乘以边权之和,即:

val(T)=(i=1n1wei)×gcd(we1,we2,,wen1)val(T) = \left(\sum_{i=1}^{n-1} w_{e_i}\right) \times \gcd (w_{e_1}, w_{e_2}, \dots, w_{e_{n-1}})

其中 e1,e2,,en1e_1, e_2, \dots, e_{n-1}TT 包含的边的编号。

小 W 需要求出 GG 的所有生成树 TT 的价值之和,他做了很久也没做出来,请你帮帮他。由于答案可能很大,你只需要给出答案对 998244353998244353 取模后的结果。

输入格式

第一行两个正整数 n,mn,m,表示 GG 的点数和边数。

接下来 mm 行,每行三个正整数 ui,vi,wiu_i, v_i, w_i,第 ii 行表示一条无向边连接 uiu_i 号点和 viv_i 号点,权值为 wiw_i

输出格式

仅一行一个整数,表示答案对 998244353998244353 取模后的结果。

样例

3 3
1 2 4
2 3 6
1 3 12
192

GG 共有三棵生成树:

T1={(1,2),(2,3)}T_1 = \{(1, 2), (2, 3)\},价值为 10×2=2010\times 2 = 20

T2={(1,2),(1,3)}T_2 = \{(1, 2), (1, 3)\},价值为 16×4=6416\times 4 = 64

T3={(1,3),(2,3)}T_3 = \{(1, 3), (2, 3)\},价值为 18×6=10818\times 6 = 108

总和为 192192

见附加文件中 count2.incount2.ans

数据范围与提示

10%10\% 的数据满足:m15m\le 15

另有 20%20\% 的数据满足:mnm \le n

另有 20%20\% 的数据满足:wiw_i 均相同。

另有 20%20\% 的数据满足:wiw_i 均为质数。

100%100\% 的数据满足:2n30,1mn(n1)2,1wi1525012\le n\le 30, 1\le m \le \frac {n(n-1)}2, 1\le w_i \le 152501