#CPP1J. 试题索引

试题索引

题意:

有 nn 道试题,按输入顺序编号为 11 到 nn。每道试题附有若干整数标签,同一道题中可能重复写出相同标签,也可能没有标签。

请制作标签索引:对于每一种出现过的标签,列出带有这个标签的全部试题编号。同一道题无论写了多少次相同标签,在该标签的索引中都只出现一次。

标签之间按数值从小到大排列,每个标签对应的试题编号按从小到大排列。

标签均为正整数。两个标签是否相同,仅由它们的数值决定。

输入格式:

第一行一个整数 nn(1≤n≤2×1051 \le n \le 2\times10^5),表示试题数量。

接下来 nn 行,第 ii 行先给出整数 kik_i(0≤ki≤2×1050 \le k_i \le 2\times10^5),随后给出 kik_i 个整数标签 xi,1,xi,2,…,xi,kix_{i,1},x_{i,2},\ldots,x_{i,k_i}(1≤xi,j≤1091 \le x_{i,j} \le 10^9)。同一行各项之间以空格分隔。

保证 ∑i=1nki≤2×105\sum_{i=1}^n k_i \le 2\times10^5。没有标签的试题,其输入行只有一个 00。

输出格式:

第一行输出出现过的不同标签数量 cc。

接下来 cc 行,按标签数值从小到大输出。每行依次给出标签、带有该标签的试题数量,以及这些试题的编号,相邻两项之间以一个空格分隔。

所有试题都没有标签时,只输出一行 00。

样例:

样例输入1:

4
4 30 10 30 5
2 20 10
0
3 5 40 5

样例输出1:

5
5 2 1 4
10 2 1 2
20 1 2
30 1 1
40 1 4

样例解释1:

第 11 道题的 3030 标签重复,第 44 道题的 55 标签也重复,但对应的试题编号各只保留一次。

样例输入2:

2
0
0

样例输出2:

0