久莲 — дівчина, яка любить складати задачі.
Після цьогорічного World Final 久莲 дуже полюбила обчислювальну геометрію, тому вирішила запропонувати задачу з неї й на NOI: це задача, у якій з обчислювальною геометрією пов'язана лише назва.
Спочатку 久莲 задає кореневе дерево $T$ із $n$ ($n\ge2$) вершинами, корінь якого має номер $1$. Листками називаються всі вершини степеня рівно $1$, крім кореня. Нижче наведено приклад дерева $T$, множина листків якого — $\{3,4,5\}$.

Потім за цим деревом 久莲 будує послідовність $A$:
- Виконує обхід у глибину всього дерева, починаючи з кореня й відвідуючи дітей у порядку зростання номерів. Так отримує DFS-порядок дерева $T$.
- Виписує всі листки в порядку їх появи в DFS-порядку, отримуючи послідовність $A$.
За послідовністю $A$ 久莲 визначає відстань $d(u,v)$ між двома листками $u,v$: якщо $u$ — її $i$-й елемент, а $v$ — $j$-й, то $d(u,v)=\min(|i-j|,|A|-|i-j|)$. Тут $|A|$ — довжина послідовності, тобто кількість листків $T$, а $i,j$ — позиції, які нумеруються з $1$.
У наведеному прикладі $A=[4,5,3]$, $d(3,5)=d(3,4)=d(4,5)=1$, а позиції $3,4,5$ відповідно дорівнюють $3,1,2$.
Нарешті 久莲 задає параметр $K$. За кореневим деревом $T$ і послідовністю $A$ побудуємо неорієнтований граф $G$ із $n$ вершинами без кратних ребер і петель: дві різні вершини $u,v$ з'єднані ребром тоді й лише тоді, коли виконується хоча б одна умова:
- У дереві $T$ є ребро між $u,v$.
- У дереві $T$ обидві вершини $u,v$ є листками й $d(u,v)\le K$.
Для $K=1$ або $2$ в наведеному прикладі отримуємо такий граф $G$:

Тепер 久莲 хоче, щоб ви обчислили кількість різних гамільтонових циклів у $G$. Відповідь може бути великою, тому виведіть її за модулем $998244353$.
Наведемо додаткові визначення:
- Гамільтонів цикл $H$ неорієнтованого графа $G$ без кратних ребер і петель — це підмножина ребер $G$, у якій кожній вершині інцидентні рівно два різні ребра, і з будь-якої вершини можна дістатися будь-якої іншої безпосередньо або опосередковано ребрами $H$.
- Два гамільтонові цикли $H_1,H_2$ неорієнтованого графа $G$ без кратних ребер і петель різні тоді й лише тоді, коли існує ребро $e$, що належить $H_1$, але не належить $H_2$.
Вхідні дані
Дані зчитуються з файлу polygon.in.
Перший рядок містить два цілі числа $n,K$ — кількість вершин дерева $T$ і параметр $K$, вибраний 久莲.
Другий рядок містить $n-1$ цілих чисел $f_i$ ($1\le f_i\le i$), де $f_i$ означає, що в дереві $T$ є ребро $(f_i,i+1)$.
Вихідні дані
Виведіть дані до файлу polygon.out.
Виведіть в одному рядку одне ціле число — кількість гамільтонових циклів за модулем $998244353$.
Приклади
Вхідні дані 1
5 1 1 1 2 2
Вихідні дані 1
2
Пояснення
Цей приклад повністю збігається з прикладом в умові. Два гамільтонові цикли проходять вершини в порядку $(1,2,4,5,3)$ і $(1,2,5,4,3)$ відповідно.
Підзадачі
Розміри та властивості даних кожного тесту наведено в таблиці:
| Номер | $n$ | $K$ | Особливі властивості |
|---|---|---|---|
| $1$ | $\le5$ | $\le3$ | Немає |
| $2$ | $\le10$ | $\le3$ | Немає |
| $3$ | $\le15$ | $\le3$ | Немає |
| $4$ | $\le20$ | $\le3$ | Немає |
| $5$ | $\le1000$ | $=1$ | A |
| $6$ | $\le1000$ | $=1$ | A |
| $7$ | $\le1000$ | $=1$ | A |
| $8$ | $\le1000$ | $=1$ | Немає |
| $9$ | $\le1000$ | $=1$ | Немає |
| $10$ | $\le1000$ | $=1$ | Немає |
| $11$ | $\le1000$ | $\le2$ | A |
| $12$ | $\le1000$ | $\le2$ | A |
| $13$ | $\le1000$ | $\le2$ | A |
| $14$ | $\le1000$ | $\le2$ | Немає |
| $15$ | $\le1000$ | $\le2$ | Немає |
| $16$ | $\le1000$ | $\le2$ | Немає |
| $17$ | $\le1000$ | $\le3$ | A |
| $18$ | $\le1000$ | $\le3$ | A |
| $19$ | $\le1000$ | $\le3$ | Немає |
| $20$ | $\le1000$ | $\le3$ | Немає |
Властивість A: гарантується, що кожна вершина дерева має щонайбільше двох дітей.
Для всіх даних гарантується $1\le f_i\le i$, $2\le n\le1000$.