У Джокера есть дерево, в котором он выбрал $$$m$$$ простых путей: $$$(u_1, v_1)$$$, $$$(u_2, v_2)$$$, $$$\ldots$$$, $$$(u_m, v_m)$$$ — каждый путь задается двумя вершинами $$$u_i$$$ и $$$v_i$$$, лежащими на его концах. Причем все пути имеют ненулевую длину, то есть $$$u_i \neq v_i$$$.
Теперь Джокер хочет расставить на ребрах дерева веса — целые числа $$$0$$$ или $$$1$$$. Обозначим $$$s_i$$$ сумму весов ребер на $$$i$$$-м пути по модулю $$$2$$$ (иначе говоря, исключающее ИЛИ весов всех ребер на этом пути). Джокер называет расстановку весов на ребрах безумной, если выполняется неравенство $$$s_{i} \le s_{i+1}$$$ для всех $$$1 \le i \lt m$$$.
Ваша задача — посчитать количество безумных расстановок весов на ребрах. Так как Джокер сумашедший, он попросил вас найти остаток от деления этого числа на $$$998\,244\,353$$$.
В первой строке даны два целых числа $$$n$$$ и $$$m$$$ — количество вершин в дереве и количество выбранных путей ($$$2 \le n, m \le 250\,000$$$).
Во второй строке дано $$$n - 1$$$ целое число $$$p_i$$$, обозначающее, что в дереве есть ребро между вершинами с номерами $$$p_i$$$ и $$$i + 1$$$ ($$$1 \le p_i \lt i + 1$$$).
В следующих $$$m$$$ строках дано по два целых числа $$$u_i$$$ и $$$v_i$$$ — концы $$$i$$$-го пути ($$$1 \leq u_i \lt v_i \leq n$$$).
Выведите одно целое число — количество безумных расстановок весов на ребрах по модулю $$$998\,244\,353$$$.
3 31 21 22 31 3
2
4 41 1 11 22 33 41 4
3
4 21 2 31 23 4
6
| Название |
|---|


