У Cirno есть ориентированный ациклический граф с \(n\) вершинами и \(m\) ребрами. В графе ровно одна вершина, не имеющая исходящих ребер. На \(i\)-й вершине написано целое число \(a_i\).
Каждую секунду происходит следующее:
- Пусть \(S\) — множество вершин \(x\), у которых \(a_x > 0\).
- Для всех \(x \in S\) из \(a_x\) вычитается \(1\), а затем для каждой вершины \(y\) такой, что существует ребро из \(x\) в \(y\), \(1\) прибавляется к \(a_y\).
Найдите первый момент времени, когда все \(a_i\) станут равны \(0\). Так как ответ может быть очень большим, выведите его по модулю \(998\,244\,353\).
Выходные данные
Для каждого набора входных данных в отдельной строке выведите целое число — первый момент времени, когда все \(a_i\) станут \(0\), по модулю \(998\,244\,353\).
Примечание
В первом наборе входных данных:
- В момент времени \(0\) значения узлов равны \([1, 1, 1]\).
- В момент времени \(1\) значения узлов равны \([0, 1, 1]\).
- В момент времени \(2\) значения узлов равны \([0, 0, 1]\).
- В момент времени \(3\) значения узлов равны \([0, 0, 0]\).
Так что ответ равен
\(3\).
Во втором наборе входных данных:
- В момент времени \(0\) значения узлов равны \([1, 0, 0, 0, 0]\).
- В момент времени \(1\) значения узлов равны \([0, 1, 0, 0, 1]\).
- В момент времени \(2\) значения узлов равны \([0, 0, 1, 0, 0]\).
- В момент времени \(3\) значения узлов равны \([0, 0, 0, 1, 0]\).
- В момент времени \(4\) значения узлов равны \([0, 0, 0, 0, 1]\).
- В момент времени \(5\) значения узлов равны \([0, 0, 0, 0, 0]\).
Итак, ответ равен
\(5\).
В третьем наборе входных данных:
Первый момент времени, когда все \(a_i\) становятся \(0\), равен \(6\cdot 998244353 + 4\).
| № | Входные данные | Выходные данные |
|
1
|
5
3 2
1 1 1
1 2
2 3
5 5
1 0 0 0 0
1 2
2 3
3 4
4 5
1 5
10 11
998244353 0 0 0 998244353 0 0 0 0 0
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
1 3
7 9
5 6
1293 1145 9961 9961 1919
1 2
2 3
3 4
5 4
1 4
2 4
6 9
10 10 10 10 10 10
1 2
1 3
2 3
4 3
6 3
3 5
6 5
6 1
6 2
|
3
5
4
28010
110
|