Autor zadania jest leniwy, więc nie napisał żadnego wstępu.
Jesteś wielką rybą. Ponieważ żyjesz w pełnej harmonii z wodą, pływasz w niej niezwykle szybko, więc każdego dnia przemieszczasz się tam i z powrotem.
Pewnego dnia budzisz się i odkrywasz, że znajdujesz się w labiryncie złożonym z wielu pokoi i kanałów wodnych. Bez trudu zdobywasz mapę tego labiryntu:
Odkrywasz, że labirynt można przedstawić jako spójny graf nieskierowany, bez wielokrotnych krawędzi i pętli własnych, w którym każda krawędź należy do co najwyżej jednego cyklu prostego. Pokoje można traktować jako wierzchołki, ponumerowane od $1$ do $n$, a kanały jako krawędzie łączące bezpośrednio dwa pokoje.
Drogi w labiryncie są skomplikowane, ale przejrzałeś mapę na wylot. Choć wiesz, jak się wydostać, musisz wypełnić swoją chwalebną misję – "grindowanie" – więc wyjście musi poczekać. Odkrywasz, że podczas pracy trudno jest wyraźnie widzieć drogę, więc decydujesz się na chaotyczne bieganie, czyli błądzenie losowe.
Formalnie rzecz biorąc, w każdym pokoju wybierasz z równym prawdopodobieństwem jedną z krawędzi wychodzących z obecnego pokoju i przemieszczasz się bezpośrednio do drugiego końca tej krawędzi (podczas przemieszczania się pozostajesz wewnątrz tego kanału).
Wiesz, że wcale nie jesteś pracowity, ale wierzysz w swoje szczęście, więc ciężar wydostania się z labiryntu powierzasz losowi (rp), a sobie zostawiasz cel zdobycia $151$ punktów.
Nie wiesz jednak, w którym pokoju zacząłeś. Dlatego chcesz wiedzieć dla każdego pokoju: jeśli zaczniesz w nim, jaka jest oczekiwana liczba kanałów, które pokonasz, aż dotrzesz do wyjścia.
Oczywiście, zgodnie z konwencją, musimy obliczyć tę wartość oczekiwaną modulo $998244353$. Można udowodnić, że wynik zawsze można przedstawić jako liczbę wymierną $\frac{a}{b}$, wystarczy wypisać $a \times b^{-1} \pmod{998244353}$.
Wejście
Pierwsza linia zawiera trzy liczby całkowite dodatnie $n, m, C$, oznaczające odpowiednio liczbę pokoi, liczbę kanałów oraz liczbę wyjść.
Druga linia zawiera $C$ liczb całkowitych dodatnich $c_i$, oznaczających numery wyjść. Gwarantuje się, że numery są parami różne i każdy z nich reprezentuje istniejący pokój.
Kolejne $m$ linii zawiera po dwie liczby całkowite dodatnie $u_i, v_i$, oznaczające kanał wodny.
Wyjście
Wypisz $n$ linii, z których każda zawiera nieujemną liczbę całkowitą z zakresu $[0, 998244353)$, oznaczającą oczekiwaną liczbę pokonanych kanałów, zaczynając od pokoju o numerze $i$.
Przykład
Wejście 1
6 7 1 1 1 2 2 3 2 4 3 4 2 5 2 6 5 6
Wyjście 1
0 13 15 15 15 15
Wejście 2
6 7 1 3 6 4 4 5 5 6 4 1 1 2 2 3 3 4
Wyjście 2
7 499122181 0 499122184 499122186 499122186
Wejście 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
Wyjście 3
873463818 1 873463818 499122191 499122193 499122193 499122189 1 790276796 0 124780557 499122190 124780556 790276797 0 499122192 124780554 790276797 457528677 0
Podzadania
Z pewnych powodów dane w tym zadaniu są generowane w sposób podobny do losowego wybierania dla każdego wierzchołka krawędzi łączącej go z wierzchołkiem o mniejszym numerze. Takie dane są dość losowe, więc w dużej mierze można pominąć przypadek obliczania odwrotności $0$ w trakcie obliczeń.
Dla wszystkich danych wejściowych zachodzi $2 \leq n \leq 10^5, 1 \leq m \leq 1.5 \times 10^5, 1 \leq C \leq n$.
| Podzadanie | Punkty | Dodatkowe ograniczenia |
|---|---|---|
| 1 | 5% | $n \leq 300$ |
| 2 | 5% | Graf jest drzewem |
| 3 | 10% | Każdy cykl w grafie zawiera co najmniej jedno wyjście |
| 4 | 40% | $m = n$ |
| 5 | 40% | Brak dodatkowych ograniczeń |