时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld
题目描述
作为树的大师,S 老师又给你了一个数学题:
一棵树

可以表示为
)
,其中

表示点集,

表示边集,并且满足

。在本题中,每条边
)
还有一个颜色
)
。
对于

的一个子集

,其关于

的虚树是包含所有

中顶点的最小连通子图。
形式化地,当且仅当满足以下所有条件时,
)
是

关于

的虚树:
对于

的虚树
)
,其权值
)
定义为

中不同边颜色数量。形式化地,
%20%3D%20%7C%5C%7Bc(e)%5Cmid%20e%5Cin%20E'%5C%7D%7C)
。
现在,给定

,对于

,请计算大小为

的顶点子集权值的期望,对

取模。即,第

个输出应为
%7D%7B%5Cbinom%7B%7CT%7C%7D%7Bi%7D%7D%20%5Cbmod%20998244353)
.
输入描述:
第一行包含一个整数
,表示树
中的顶点数。
接下来的
行,每行包含三个整数
,表示
和
之间有一条颜色为
的边。保证给定的图是一棵合法的树。
输出描述:
一行
个数,第
个数表示
。
可以证明答案始终可以表示为不可约分数
,其中
,故你只需输出
。
示例2
输入
复制
5
5 1 5
2 1 3
4 1 4
3 2 2
输出
复制
0 399297743 99824438 199648874 4