#abc277g. [abc277_g]Random Walk to Millionaire

[abc277_g]Random Walk to Millionaire

問題文

NN 個の頂点と MM 本の辺からなる連結かつ単純な無向グラフが与えられます。
i=1,2,ldots,Mi = 1, 2, \\ldots, M について、ii 番目の辺は頂点 uiu_i と頂点 viv_i を結んでいます。

高橋君は、はじめレベル00 の状態で頂点 11 におり、下記の行動をちょうど KK 回行います。

  • まず、いまいる頂点に隣接する頂点の中から、11 つを等確率でランダムに選択し、その頂点に移動する。
  • その後、移動後の頂点 vv に応じて、下記のイベントが発生します。
    • Cv=0C_v = 0 のとき : 高橋君のレベルが 11 だけ増加する。
    • Cv=1C_v = 1 のとき : 高橋君のいまのレベルを XX とする。高橋君は X2X^2 円のお金を獲得する。

上記の KK 回の行動の過程で高橋君が獲得するお金の合計金額の期待値を mathrmmod,998244353\\mathrm{mod}\\, 998244353 で出力してください(注記参照)。

注記

求める期待値は必ず有理数となることが証明できます。またこの問題の制約下では、その値を互いに素な 22 つの整数 PP, QQ を用いて fracPQ\\frac{P}{Q} と表したとき、RtimesQequivPpmod998244353R \\times Q \\equiv P\\pmod{998244353} かつ 0leqRlt9982443530 \\leq R \\lt 998244353 を満たす整数 RR がただ一つ存在することが証明できます。この RR を求めてください。

制約

  • 2leqNleq30002 \\leq N \\leq 3000
  • $N-1 \\leq M \\leq \\min\\lbrace N(N-1)/2, 3000\\rbrace$
  • 1leqKleq30001 \\leq K \\leq 3000
  • 1lequi,vileqN1 \\leq u_i, v_i \\leq N
  • uineqviu_i \\neq v_i
  • $i \\neq j \\implies \\lbrace u_i, v_i\\rbrace \\neq \\lbrace u_j, v_j \\rbrace$
  • 与えられるグラフは連結
  • Ciinlbrace0,1rbraceC_i \\in \\lbrace 0, 1\\rbrace
  • 入力はすべて整数

入力

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

NN MM KK u1u_1 v1v_1 u2u_2 v2v_2 vdots\\vdots uMu_M vMv_M C1C_1 C2C_2 ldots\\ldots CNC_N

出力

答えを出力せよ。


入力例 1

5 4 8
4 5
2 3
2 4
1 2
0 0 1 1 0

出力例 1

89349064

高橋君の移動経路として考えられるものは複数ありますが、ここでは例として、高橋君が頂点 11 を始点として、$1 \\rightarrow 2 \\rightarrow 4 \\rightarrow 5 \\rightarrow 4 \\rightarrow 2 \\rightarrow 1 \\rightarrow 2 \\rightarrow 3$ と移動する場合に獲得するお金の合計金額を計算します。

  1. 高橋君は 11 回目の行動で、いまいる頂点 11 に隣接する頂点 22 に移動します。C2=0C_2 = 0 であるため、その後高橋君のレベルが 11 に上がります。
  2. 高橋君は 22 回目の行動で、いまいる頂点 22 に隣接する頂点 44 に移動します。C4=1C_4 = 1 であるため、その後高橋君は 12=11^2 = 1 円を獲得します。
  3. 高橋君は 33 回目の行動で、いまいる頂点 44 に隣接する頂点 55 に移動します。C5=0C_5 = 0 であるため、その後高橋君のレベルが 22 に上がります。
  4. 高橋君は 44 回目の行動で、いまいる頂点 55 に隣接する頂点 44 に移動します。C4=1C_4 = 1 であるため、その後高橋君は 22=42^2 = 4 円を獲得します。
  5. 高橋君は 55 回目の行動で、いまいる頂点 44 に隣接する頂点 22 に移動します。C2=0C_2 = 0 であるため、その後高橋君のレベルが 33 に上がります。
  6. 高橋君は 66 回目の行動で、いまいる頂点 22 に隣接する頂点 11 に移動します。C1=0C_1 = 0 であるため、その後高橋君のレベルが 44 に上がります。
  7. 高橋君は 77 回目の行動で、いまいる頂点 11 に隣接する頂点 22 に移動します。C2=0C_2 = 0 であるため、その後高橋君のレベルが 55 に上がります。
  8. 高橋君は 88 回目の行動で、いまいる頂点 22 に隣接する頂点 33 に移動します。C3=1C_3 = 1 であるため、その後高橋君は 52=255^2 = 25 円を獲得します。

よって、高橋君が獲得するお金の合計金額は、1+4+25=301 + 4 + 25 = 30 円です。


入力例 2

8 12 20
7 6
2 6
6 4
2 1
8 5
7 2
7 5
3 7
3 5
1 8
6 3
1 4
0 0 1 1 0 0 0 0

出力例 2

139119094