問題文
頂点に 1 から N の番号がついた N 頂点 0 辺のグラフ G があります。また、長さ M の数列 u=(u1,u2,ldots,uM),v=(v1,v2,ldots,vM) が与えられます。
あなたは以下の操作を N−1 回行います。
- i (1leqileqM) を一様ランダムに選ぶ。 G に頂点 ui と頂点 vi を結ぶ無向辺を追加する。
すでに G に ui と vi を結ぶ辺があった場合も、新たに辺を追加する操作を行うことに注意してください。すなわち、操作後の G には多重辺が存在する可能性があります。
K=1,2,ldots,N−1 について、K 回の操作後に G が森になっている確率を bmod998244353 で求めてください。
森とは?
閉路を含まない無向グラフのことを森と呼びます。森は連結でなくても構いません。
確率 bmod998244353 の定義
この問題で求める確率は必ず有理数になることが証明できます。 また、この問題の制約下では、求める確率を既約分数 fracyx で表したときに x が 998244353 で割り切れないことが保証されます。
このとき xzequivypmod998244353 を満たすような 0 以上 998244352 以下の整数 z が一意に定まります。この z を答えてください。
制約
- 2leqNleq14
- N−1leqMleq500
- 1lequi,vileqN
- uineqvi
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
N M
u1 v1
vdots
uM vM
出力
N−1 行出力せよ。i 行目には i 回の操作後に G が森になっている確率を bmod998244353 で出力せよ。
入力例 1
3 2
1 2
2 3
出力例 1
1
499122177
頂点 u と頂点 v を結ぶ辺を (u,v) と書きます。
操作を 1 回行った後の G は以下のようになります。
- 1/2 の確率で、辺 (1,2) が存在する。
- 1/2 の確率で、辺 (2,3) が存在する。
どちらの場合も G は森なので、 K=1 の場合の答えは 1 です。
操作を 2 回行った後の G は以下のようになります。
- 1/4 の確率で、辺 (1,2),(1,2) が存在する。
- 1/4 の確率で、辺 (2,3),(2,3) が存在する。
- 1/2 の確率で、辺 (1,2),(2,3) が存在する。
辺 (1,2),(2,3) が存在するときのみ G は森となっています。よって求める確率は 1/2 であり、これを bmod998244353 で表した 499122177 を出力してください。
入力例 2
4 5
1 2
1 2
1 4
2 3
2 4
出力例 2
1
758665709
918384805