atcoder#ABC253H. [ABC253Ex] We Love Forest

[ABC253Ex] We Love Forest

配点 : 600600

問題文

頂点に 11 から NN の番号がついた NN 頂点 00 辺のグラフ GG があります。また、長さ MM の数列 u=(u1,u2,,uM),v=(v1,v2,,vM)u=(u_1,u_2,\ldots,u_M),v=(v_1,v_2,\ldots,v_M) が与えられます。

あなたは以下の操作を N1N-1 回行います。

  • ii (1iM)(1 \leq i \leq M) を一様ランダムに選ぶ。 GG に頂点 uiu_i と頂点 viv_i を結ぶ無向辺を追加する。

すでに GGuiu_iviv_i を結ぶ辺があった場合も、新たに辺を追加する操作を行うことに注意してください。すなわち、操作後の GG には多重辺が存在する可能性があります。

K=1,2,,N1K=1,2,\ldots,N-1 について、KK 回の操作後に GG が森になっている確率を mod998244353\bmod 998244353 で求めてください。

森とは?

閉路を含まない無向グラフのことを森と呼びます。森は連結でなくても構いません。

確率 $\bmod 998244353$ の定義

この問題で求める確率は必ず有理数になることが証明できます。 また、この問題の制約下では、求める確率を既約分数 yx\frac{y}{x} で表したときに xx998244353998244353 で割り切れないことが保証されます。

このとき xzy(mod998244353)xz \equiv y \pmod{998244353} を満たすような 00 以上 998244352998244352 以下の整数 zz が一意に定まります。この zz を答えてください。

制約

  • 2N142 \leq N \leq 14
  • N1M500N-1 \leq M \leq 500
  • 1ui,viN1 \leq u_i,v_i \leq N
  • uiviu_i\neq v_i
  • 入力は全て整数

入力

入力は以下の形式で標準入力から与えられる。

NN MM

u1u_1 v1v_1

\vdots

uMu_M vMv_M

出力

N1N-1 行出力せよ。ii 行目には ii 回の操作後に GG が森になっている確率を mod998244353\bmod 998244353 で出力せよ。

3 2
1 2
2 3
1
499122177

頂点 uu と頂点 vv を結ぶ辺を (u,v)(u,v) と書きます。

操作を 11 回行った後の GG は以下のようになります。

  • 1/21/2 の確率で、辺 (1,2)(1, 2) が存在する。
  • 1/21/2 の確率で、辺 (2,3)(2, 3) が存在する。

どちらの場合も GG は森なので、 K=1K=1 の場合の答えは 11 です。

操作を 22 回行った後の GG は以下のようになります。

  • 1/41/4 の確率で、辺 (1,2),(1,2)(1, 2),(1,2) が存在する。
  • 1/41/4 の確率で、辺 (2,3),(2,3)(2, 3),(2,3) が存在する。
  • 1/21/2 の確率で、辺 (1,2),(2,3)(1, 2),(2,3) が存在する。

(1,2),(2,3)(1,2),(2,3) が存在するときのみ GG は森となっています。よって求める確率は 1/21/2 であり、これを mod998244353\bmod 998244353 で表した 499122177499122177 を出力してください。

4 5
1 2
1 2
1 4
2 3
2 4
1
758665709
918384805