| Codeforces Round 1070 (Div. 2) |
|---|
| Закончено |
Вам дан ориентированный граф, состоящий из $$$n$$$ вершин и $$$m$$$ рёбер. Каждой вершине $$$v$$$ соответствует некоторое положительное число $$$a_v$$$. Посчитайте количество различных простых путей$$$^{\text{∗}}$$$, состоящих хотя бы из двух вершин, таких, что последовательность чисел, записанных в вершинах на пути, образует обобщённую последовательность Фибоначчи.
В этой задаче мы будем считать, что последовательность чисел $$$x_0, x_1, \ldots, x_k$$$ образует обобщённую последовательность Фибоначчи, если:
Обратите внимание, что обобщённая последовательность Фибоначчи состоит как минимум из двух чисел.
Так как ответ может быть большим, выведите его остаток от деления на $$$998\,244\,353$$$.
$$$^{\text{∗}}$$$Простой путь в ориентированном графе — это последовательность вершин $$$v_1, v_2, \ldots, v_k$$$ такая, что каждая вершина графа встречается в пути не более одного раза и существует ориентированное ребро из $$$v_i$$$ в $$$v_{i+1}$$$ для всех $$$i \lt k$$$.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит два числа $$$n$$$, $$$m$$$ ($$$2 \le n \le 2 \cdot 10^5$$$, $$$1 \le m \le 2 \cdot 10^5$$$) — количество вершин и количество рёбер в графе соответственно.
Вторая строка каждого набора входных данных содержит $$$n$$$ натуральных чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le 10^{18}$$$) — числа, записанные в вершинах.
В следующих $$$m$$$ строках содержатся рёбра графа, каждое ребро задаётся двумя натуральными числами $$$v, u$$$ ($$$1 \le v, u \le n$$$, $$$u \neq v$$$), обозначающее ориентированное ребро из $$$v$$$ в $$$u$$$. Гарантируется, что в графе нет кратных рёбер.
Гарантируется, что сумма $$$n$$$ и сумма $$$m$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите количество путей, образующих обобщённую последовательность Фибоначчи, по модулю $$$998\,244\,353$$$.
44 43 4 3 61 21 32 43 44 61 1 1 21 22 33 11 42 43 48 112 4 2 6 8 10 18 261 22 33 14 32 43 55 64 66 77 55 82 210 101 22 1
59242
Объяснение первого набора тестовых данных примера (вне скобок указан номер вершины, в скобках — число, записанное в вершине):
Объяснение второго набора тестовых данных примера:
| Название |
|---|


