题目说明
我们有一个具有N个顶点的图G,顶点编号为1到N,边数为0。给定长度为M的序列u=(u1,u2,…,uM),v=(v1,v2,…,vM)。
你将执行以下操作(N−1)次。
- 随机选择一个i (1≤i≤M)。在G中添加一条连接顶点ui和vi的无向边。
注意,即使G已经存在一条或多条连接ai和bi的边,上述操作也会添加一条连接顶点ui和vi的新边。换句话说,得到的G可能包含多条边。
对于每个K=1,2,…,N−1,求K次操作后G是森林的概率,模998244353。
什么是森林?
没有环的无向图称为森林。森林不一定连通。
模998244353的概率定义
我们可以证明所求概率总是一个有理数。此外,在问题的约束条件下,保证当所求概率用一个既约分数xy表示时,x不能被998244353整除。
那么,我们可以唯一确定一个介于0和998244352(包括两端)的整数z,使得xz≡y(mod998244353)。输出这个z。
约束条件
- 2≤N≤14
- N−1≤M≤500
- 1≤ui,vi≤N
- ui=vi
- 输入中的所有值均为整数。
输入
从标准输入中以以下格式给出输入:
N M
u1 v1
⋮
uM vM
输出
打印N−1行。第i行应包含在第i次操作后G是森林的概率,模998244353。
示例输入 1
3 2
1 2
2 3
示例输出 1
1
499122177
记(u,v)为连接顶点u和v的边。
在第1次操作之后,G有以下情况:
- 边(1,2)的概率为1/2;
- 边(2,3)的概率为1/2。
在这两种情况下,G都是一个森林,所以K=1时的答案是1。
在第2次操作之后,G有以下情况:
- 边(1,2)和边(1,2)的概率为1/4;
- 边(2,3)和边(2,3)的概率为1/4;
- 边(1,2)和边(2,3)的概率为1/2。
当且仅当G具有边(1,2)和边(2,3)时,G才是一个森林。因此,所求概率为1/2,当使用模998244353表示时,为499122177,应该输出这个值。
示例输入 2
4 5
1 2
1 2
1 4
2 3
2 4
示例输出 2
1
758665709
918384805