久莲 jest dziewczyną, która lubi układać zadania.
Po zakończeniu tegorocznego World Final 久莲 szczególnie polubiła geometrię obliczeniową, więc postanowiła przygotować takie zadanie również na zawody NOI: zadanie, którego tylko nazwa ma związek z geometrią obliczeniową.
Najpierw 久莲 podaje ukorzenione drzewo $T$ o $n$ ($n\ge2$) wierzchołkach, z korzeniem o numerze $1$. Liśćmi nazywamy wszystkie wierzchołki oprócz korzenia, których stopień jest równy dokładnie $1$. Poniżej przedstawiono przykładowe drzewo $T$, w którym zbiór liści to $\{3,4,5\}$.
Następnie 久莲 konstruuje na podstawie tego drzewa ciąg $A$:
- Wykonuje przeszukiwanie całego drzewa w głąb, zaczynając od korzenia, odwiedzając dzieci w kolejności rosnących numerów. Otrzymuje w ten sposób kolejność DFS drzewa $T$.
- Następnie ustawia wszystkie liście w kolejności ich występowania w kolejności DFS, od początku do końca, otrzymując ciąg $A$.
Na podstawie ciągu $A$ 久莲 definiuje odległość $d(u,v)$ między dwoma liśćmi $u,v$. Jeśli $u$ jest $i$-tym elementem ciągu $A$, a $v$ jest $j$-tym, to $d(u,v)=\min(|i-j|,|A|-|i-j|)$. Symbol $|A|$ oznacza długość ciągu, czyli liczbę liści drzewa $T$, a $i,j$ są pozycjami w ciągu, numerowanymi od $1$.
W powyższym przykładzie ciąg $A$ to $[4,5,3]$, a $d(3,5)=d(3,4)=d(4,5)=1$. Pozycje wierzchołków $3,4,5$ wynoszą odpowiednio $3,1,2$.
Na koniec 久莲 podaje parametr $K$. Korzystając z ukorzenionego drzewa $T$ i ciągu $A$, możemy skonstruować nieskierowany graf $G$ o $n$ wierzchołkach, bez krawędzi wielokrotnych i pętli. Dwa różne wierzchołki $u,v$ są połączone krawędzią wtedy i tylko wtedy, gdy spełniają co najmniej jeden z poniższych warunków:
- W drzewie $T$ istnieje krawędź łącząca $u,v$.
- W drzewie $T$ oba wierzchołki $u,v$ są liśćmi i $d(u,v)\le K$.
Dla $K=1$ lub $K=2$ graf $G$ otrzymany z powyższego przykładu wygląda tak, jak na poniższym rysunku.
久莲 chce teraz, abyś obliczył liczbę różnych cykli Hamiltona w grafie $G$. Odpowiedź może być bardzo duża; wypisz ją modulo $998244353$.
Poniżej podano dodatkowe definicje:
- Cykl Hamiltona $H$ w nieskierowanym grafie $G$ bez krawędzi wielokrotnych i pętli jest podzbiorem krawędzi grafu $G$, w którym każdy wierzchołek ma dokładnie dwie różne incydentne krawędzie należące do $H$, a między każdymi dwoma wierzchołkami można przejść bezpośrednio lub pośrednio, korzystając z krawędzi należących do $H$.
- Dwa cykle Hamiltona $H_1,H_2$ w nieskierowanym grafie $G$ bez krawędzi wielokrotnych i pętli są różne wtedy i tylko wtedy, gdy istnieje krawędź $e$ należąca do $H_1$ i nienależąca do $H_2$.
Wejście
Dane należy odczytać z pliku polygon.in.
Pierwszy wiersz zawiera dwie liczby całkowite $n,K$, oznaczające liczbę wierzchołków drzewa $T$ oraz parametr $K$ wybrany przez 久莲.
Drugi wiersz zawiera $n-1$ liczb całkowitych $f_i$ ($1\le f_i\le i$), gdzie $f_i$ oznacza, że w drzewie $T$ istnieje krawędź $(f_i,i+1)$.
Wyjście
Wyniki należy zapisać do pliku polygon.out.
Wypisz w jednym wierszu jedną liczbę całkowitą: liczbę cykli Hamiltona modulo $998244353$.
Przykład
Wejście 1
5 1 1 1 2 2
Wyjście 1
2
Uwagi
Ten przykład jest dokładnie taki sam jak przykład w treści zadania. Kolejności odwiedzania wierzchołków w dwóch cyklach Hamiltona to odpowiednio $(1,2,4,5,3)$ oraz $(1,2,5,4,3)$.
Podzadania
Rozmiary danych i własności poszczególnych testów przedstawiono w poniższej tabeli:
| Numer | $n$ | $K$ | Własności szczególne | Numer | $n$ | $K$ | Własności szczególne |
|---|---|---|---|---|---|---|---|
| 1 | $\le5$ | $\le3$ | Brak | 11 | $\le1000$ | $\le2$ | A |
| 2 | $\le10$ | $\le3$ | Brak | 12 | $\le1000$ | $\le2$ | A |
| 3 | $\le15$ | $\le3$ | Brak | 13 | $\le1000$ | $\le2$ | A |
| 4 | $\le20$ | $\le3$ | Brak | 14 | $\le1000$ | $\le2$ | Brak |
| 5 | $\le1000$ | $=1$ | A | 15 | $\le1000$ | $\le2$ | Brak |
| 6 | $\le1000$ | $=1$ | A | 16 | $\le1000$ | $\le2$ | Brak |
| 7 | $\le1000$ | $=1$ | A | 17 | $\le1000$ | $\le3$ | A |
| 8 | $\le1000$ | $=1$ | Brak | 18 | $\le1000$ | $\le3$ | A |
| 9 | $\le1000$ | $=1$ | Brak | 19 | $\le1000$ | $\le3$ | Brak |
| 10 | $\le1000$ | $=1$ | Brak | 20 | $\le1000$ | $\le3$ | Brak |
Własność A oznacza, że każdy wierzchołek drzewa ma co najwyżej dwoje dzieci.
Dla wszystkich danych gwarantuje się, że $1\le f_i\le i$, $2\le n\le1000$.