MEX 变换

题目描述

Y 同学最近迷上了一个关于序列和 MEX(最小排斥数)的数学游戏。

此时,桌面上摆放着 NN 个整数序列。第 ii 个序列的长度为 lil_i,其元素记为 ai,1,ai,2,,ai,lia_{i, 1}, a_{i, 2}, \ldots, a_{i, l_i}

游戏规则如下:

  1. 初始时,给定一个非负整数 xx
  2. Y 同学可以对 xx 进行任意次数(包括 00 次)的操作。
  3. 在每一次操作中,Y 同学可以自由选择 NN 个序列中的任意一个(设为第 ii 个序列),然后将 xx 更新为 xx 与该序列所有元素的 MEX 值。 即:$x \leftarrow \text{mex}(x, a_{i, 1}, a_{i, 2}, \ldots, a_{i, l_i})$。 注意:同一个序列可以在不同的操作中被多次选择。

Y 同学定义 f(k)f(k) 为:当初始整数为 kk 时,经过若干次操作后,能够得到的 xx最大值

现在,Y 同学得到了一个非负整数 MM。他的任务是计算 00MM 之间所有整数作为初始值时的答案之和,即求:

k=0Mf(k)\sum_{k=0}^{M} f(k)

请你帮助 Y 同学完成这个计算。

关于 MEX 的定义: 对于一个整数集合(或序列),mex\text{mex} 定义为该集合中没有出现过的最小非负整数。 例如:mex(2,2,0,3)=1\text{mex}(2, 2, 0, 3) = 1mex(1,2)=0\text{mex}(1, 2) = 0

输入格式

输入包含多组测试数据。第一行包含一个整数 TT,表示测试数据的组数。

对于每组测试数据: 第一行包含两个整数 NNMM,分别表示序列的个数和求和的上限。 接下来 NN 行,每行描述一个序列。 每行的第一个整数 lil_i 表示第 ii 个序列的长度。 紧接着是 lil_i 个整数 ai,1,ai,2,,ai,lia_{i, 1}, a_{i, 2}, \ldots, a_{i, l_i},表示序列中的元素。

输出格式

对于每组测试数据,输出一行一个整数,表示 k=0Mf(k)\sum_{k=0}^{M} f(k) 的值。

样例

样例输入 #1

6
3 4
2 0 2
3 2 3 3
4 7 0 1 5
3 4
5 0 2 0 4 11
1 1
5 1 3 0 3 3
2 50
2 1 2
2 1 2
1 1
7 1 2 4 1 4 9 5
4 114514
2 2 2
5 7 3 6 0 3
3 0 1 1
5 0 9 2 1 5
5 1919810
1 2
2 324003 0
3 1416324 2 1460728
4 1312631 2 0 1415195
5 1223554 192248 2 1492515 725556

样例输出 #1

16
20
1281
6
6556785365
1842836177961

数据范围与约定

对于 100%100\% 的数据,保证:

  • 1T1041 \le T \le 10^4
  • 1N2×1051 \le N \le 2 \times 10^5
  • 0M1090 \le M \le 10^9
  • 1li2×1051 \le l_i \le 2 \times 10^5
  • 0ai,j1090 \le a_{i, j} \le 10^9
  • 所有测试用例中 NN 的总和不超过 2×1052 \times 10^5
  • 所有测试用例中 li\sum l_i 的总和不超过 2×1052 \times 10^5
子任务编号 分值 li\sum l_i \le MM \le 特殊性质
1 20 100100 100100
2 30 2×1052 \times 10^5
3 50 10910^9

相关

在下列比赛中:

「果壳杯」 ROUND 35 (Div. 4)