King's Quest
题意翻译
很久以前有一个老国王,他有$N$个儿子。在他的王国里面,也有$N$个漂亮的女孩。国王知道他的每个孩子喜欢哪一个女孩。国王的孩子们很年轻,比较花心,所以一个孩子可能喜欢好几个女孩。
国王让他的巫师为他的每个儿子找到他最喜欢的女孩,这样这个儿子就可以娶这个女孩了。国王的巫师也做到了这点要求——他为每个儿子选择了他可以结婚的女孩,即这个儿子必须喜欢选中的女孩。当然了,每个儿子只能选择一个女孩。
然而,国王说:“我喜欢你做的清单,但是我还是有点不满意。对于我的每个儿子,我想知道可以和他结婚的所有女孩。当然了,这前提必须是所有的儿子都要找到一个女孩。”
国王希望巫师为他解决的问题对于巫师来说太难了。为了保全巫师的脑袋,请你写一个程序帮助巫师。
## Input
输入的第一行包含$N$ - 国王的儿子数($1$ $\le$ $N$ $\le$ $2000$)。 接下来每个国王的儿子的N行包含他喜欢的女孩的名单:第一个$K_i$ - 他喜欢的女孩的数量,然后有$K_i$个不同的整数,从$1$到$N$表示女孩的编号。 所有$K_i$的总和不超过$200000$。
输入的最后一行是巫师所做的清单 - $N$个不同的整数:对于每个儿子,给出他将按照此列表结婚的女孩的编号。 保证这个清单是正确的,也就是说,每个儿子都喜欢这个清单里面他所要结婚的女孩。
## Output
输出$N$行。对于每个国王的儿子,首先打印$L_i$ - 他喜欢和可以结婚的不同女孩的数量。 在那之后,输出$L_i$个不同的整数表示那些女孩的编号,按升序排列。
## Sameple Input
```c++
4
2 1 2
2 1 2
2 2 3
2 3 4
1 2 3 4
```
## Sample Output
```
2 1 2
2 1 2
1 3
1 4
```
## Hint
这题输入输出很大,对于某些语言请使用更高效率的读入输出。
**本题有多组数据,以 EOF 为结束标志**
题目描述
[problemUrl]: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=446&page=show_problem&problem=4073
[PDF](https://uva.onlinejudge.org/external/13/p1327.pdf)