#CF1574F. 出现次数

    ID: 6181 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>组合数学动态规划搜索DFS数位DP多项式快速傅里叶变换*2700

出现次数

出现次数
时间限制:7 秒
内存限制:512 MB

数组 aa 中从第 ll 个元素到第 rr 个元素的子数组是 [al,al+1,,ar][a_l, a_{l+1}, \dots, a_r]
数组 bb 在数组 aa 中的出现次数是指 aa 中所有等于 bb 的子数组的数量。

给定 nn 个数组 A1,A2,,AnA_1, A_2, \dots, A_n;这些数组的元素是 11kk 的整数。
你需要构造一个长度为 mm 的数组 aa,其元素为 11kk 的整数,使得:
对于每个给定的数组 AiA_iAiA_iaa 中的出现次数不少于 AiA_i 的每一个非空子数组在 aa 中的出现次数。
注意,如果 AiA_iaa 中不出现,且 AiA_i 的所有子数组在 aa 中也不出现,那么对于 AiA_i 而言该条件仍然满足。

你的任务是计算可以构造出的不同数组 aa 的数量,结果对 998244353998244353 取模。


输入格式
第一行包含三个整数 n,m,kn, m, k1n,m,k31051 \le n, m, k \le 3 \cdot 10^5),分别表示给定数组的数量、数组 aa 的长度、以及元素值的上界。

接下来 nn 行,第 ii 行描述数组 AiA_i
该行的第一个整数是 cic_i1cim1 \le c_i \le m),表示 AiA_i 的元素个数;接着是 cic_i11kk 的整数,表示 AiA_i 的元素。

输入附加限制:i=1nci3105\sum_{i=1}^{n} c_i \le 3 \cdot 10^5,即所有给定数组的元素总数不超过 31053 \cdot 10^5


输出格式
输出一个整数,表示可以构造出的不同数组 aa 的数量,对 998244353998244353 取模。


示例

输入 1

2 4 3
2 1 2
1 3

输出 1

5

输入 2

2 4 3
2 1 2
3 3 2 1

输出 2

0

输入 3

1 42 1337
2 13 31

输出 3

721234447