出題者は怠惰で、データはランダムで、問題は単純で、解法は自明である。問題を解くときは、適当にやれば通る。
あなたは大きな魚である。水と非常に親和性が高いため、水中を非常に速く泳ぐことができ、毎日水中をあちこち泳ぎ回っている。
ある日、目が覚めると、あなたはいくつかの部屋と水路からなる迷宮の中にいた。あなたは簡単にこの迷宮の地図を手に入れた。
この迷宮は、無向連結グラフとして抽象化できる。多重辺や自己ループは存在せず、各辺は高々1つの単純サイクルにしか含まれない。部屋は頂点とみなすことができ、番号は $1$ から $n$ までである。水路は辺とみなすことができ、2つの部屋を直接結んでいる。
迷宮の道は複雑に入り組んでいるが、あなたは地図を一目見てすべてを把握した。出口への行き方はわかっているが、あなたには「努力する」という栄光ある使命があるため、脱出については別の方法を考えることにした。あなたは努力している最中は道がよく見えないことに気づき、ランダムに歩き回ることにした。
形式的に言えば、あなたは現在の部屋から伸びているすべての水路の中から等確率で1つを選び、その水路を通って直接もう一方の端点へ移動する(移動中はずっとその水路の上にいるものとする)。
あなたは努力など全くしておらず、自分の運(rp)を信じているため、迷宮から脱出するという重責を運に委ね、151問という小さな目標を自分自身に課した。
しかし、あなたは自分が最初にどの部屋にいるのかを知らない。そのため、各部屋について、もし最初にそこにいた場合、ランダムに歩き回って出口に到達するまでに通過する水路の数の期待値を求めたい。
当然のことながら、慣例に従い、この期待値を $998244353$ で割った余りを求める。答えは必ず有理数 $\frac{a}{b}$ として表すことができ、あなたは $a \times b^{-1} \pmod{998244353}$ を出力すればよい。
入力
1行目に3つの正整数 $n, m, C$ が与えられる。それぞれ部屋の数、水路の数、出口の数を表す。
2行目に $C$ 個の正整数 $c_i$ が与えられる。これは出口の番号を表し、番号はすべて異なり、各番号は1つの部屋を表すことが保証される。
続く $m$ 行には、各行に2つの正整数 $u_i, v_i$ が与えられる。これは1本の水路を表す。
出力
合計 $n$ 行出力する。各行には、番号 $i$ の部屋から出発したときに通過する水路の数の期待値を、$[0, 998244353)$ の範囲の非負整数で出力する。
入出力例
入力 1
6 7 1 1 1 2 2 3 2 4 3 4 2 5 2 6 5 6
出力 1
0 13 15 15 15 15
入力 2
6 7 1 3 6 4 4 5 5 6 4 1 1 2 2 3 3 4
出力 2
7 499122181 0 499122184 499122186 499122186
入力 3
20 24 3 15 20 10 17 13 13 20 20 17 2 20 13 9 9 19 19 13 17 4 4 3 3 17 13 1 1 7 7 13 15 1 8 20 16 4 18 9 4 6 6 5 5 4 11 13 10 3 12 7 14 9
出力 3
873463818 1 873463818 499122191 499122193 499122193 499122189 1 790276796 0 124780557 499122190 124780556 790276797 0 499122192 124780554 790276797 457528677 0
小課題
いくつかの理由により、本問題のデータは、各点に対して自分より小さい番号の点と辺をランダムに選んで接続する方法に類似した方法で生成されている。このようなデータは比較的ランダムであり、計算過程において $0$ の逆数を計算するケースは無視してよい。
すべてのデータにおいて、$2 \leq n \leq 10^5, 1 \leq m \leq 1.5 \times 10^5, 1 \leq C \leq n$ を満たす。
- $5\%$ のテストケースでは、$n \leq 300$ を満たす。
- 別の $5\%$ のテストケースでは、抽象化されたグラフが木であることが保証される。
- 別の $10\%$ のテストケースでは、抽象化されたグラフの各サイクル上に少なくとも1つの出口があることが保証される。
- 別の $40\%$ のテストケースでは、$m = n$ であることが保証される。