С первого дня рождения Жили, Джили каждый год дарит ему цветную нитку, и каждый год подарок отличается от всех предыдущих. В этом году Жили с удивлением обнаружил, что получил все возможные уникальные подарки!
Назовём цветную строку, удовлетворяющую следующим условиям, допустимой:
Вычислите количество всех допустимых цветных строк, по модулю $$$998\,244\,353$$$.
Две окрашенные строки считаются разными, если они различаются хотя бы в одной позиции (либо по типу символа, либо по цвету).
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
В первой строке каждого набора входных данных содержится одно целое число $$$m$$$ ($$$1\le m\le 2\cdot 10^5$$$) — количество типов.
В $$$i$$$-й из следующих $$$m$$$ строк содержатся $$$n_i, c_i, d_i$$$ ($$$1\le c_i \lt 998\,244\,353, 1\le n_i, d_i \le 10^8$$$) — общее количество символов $$$i$$$-го типа, количество цветов для этого типа и требуемая длина сокращения, соответственно.
Гарантируется, что сумма $$$\left\lceil\frac{n_i}{d_i}\right\rceil$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите на отдельной строке одно целое число, представляющее количество допустимых цветных строк, по модулю $$$998\,244\,353$$$.
322 1 11 2 122 2 22 1 226 2 35 3 2
680
Для примеров пронумеруем все цвета как $$$1, 2, \ldots, \sum_{j=1}^m c_j$$$. При этом цвета $$$1+\sum_{j=1}^{i-1} c_j,\ldots,\sum_{j=1}^i c_j$$$ относятся к $$$i$$$-му типу. Ниже цвета $$$1, 2, 3$$$ обозначены красным, синим и зелёным соответственно.
Для первого набора входных данных допустимыми строками являются:
Для любой из этих строк мы можем сначала удалить единственные $$$2$$$ или $$$3$$$, а затем удалить $$$2$$$ последовательных $$$1$$$.
Для второго набора входных данных допустимыми строками являются:
Для третьего набора входных данных легко видно, что допустимых строк нет.