Безумные расстановки

아직 제출이 없습니다시간 제한2초메모리 제한1024 MB

문제

У Джокера есть дерево, в котором он выбрал mm простых путей: (u_1,v_1)(u\_1, v\_1), (u_2,v_2)(u\_2, v\_2), \ldots, (u_m,v_m)(u\_m, v\_m) --- каждый путь задается двумя вершинами u_iu\_i и v_iv\_i, лежащими на его концах. Причем все пути имеют ненулевую длину, то есть u_iv_iu\_i \neq v\_i.

Теперь Джокер хочет расставить на ребрах дерева веса --- целые числа 00 или 11. Обозначим s_is\_i сумму весов ребер на ii-м пути по модулю 22 (иначе говоря, исключающее ИЛИ весов всех ребер на этом пути). Джокер называет расстановку весов на ребрах безумной, если выполняется неравенство s_is_i+1s\_{i} \le s\_{i+1} для всех 1i<m1 \le i < m.

Ваша задача --- посчитать количество безумных расстановок весов на ребрах. Так как Джокер сумашедший, он попросил вас найти остаток от деления этого числа на 998,244,353998\\,244\\,353.

입력

В первой строке даны два целых числа nn и mm --- количество вершин в дереве и количество выбранных путей (2n,m250,0002 \le n, m \le 250\\,000).

Во второй строке дано n1n - 1 целое число p_ip\_i, обозначающее, что в дереве есть ребро между вершинами с номерами p_ip\_i и i+1i + 1 (1p_i<i+11 \le p\_i < i + 1).

В следующих mm строках дано по два целых числа u_iu\_i и v_iv\_i --- концы ii-го пути (1u_i<v_in1 \leq u\_i < v\_i \leq n).

출력

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