시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB0000.000%

문제

У Джокера есть дерево, в котором он выбрал $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 < 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 < i + 1$).

В следующих $m$ строках дано по два целых числа $u_i$ и $v_i$ --- концы $i$-го пути ($1 \leq u_i < v_i \leq n$).

출력

Выведите одно целое число --- количество безумных расстановок весов на ребрах по модулю $998\,244\,353$.

예제 입력 1

3 3
1 2
1 2
2 3
1 3

예제 출력 1

2

예제 입력 2

4 4
1 1 1
1 2
2 3
3 4
1 4

예제 출력 2

3

예제 입력 3

4 2
1 2 3
1 2
3 4

예제 출력 3

6