Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:1 s 空间限制:256 MB

#4073. 试题库

Statistics

题目描述

假设一个试题库中有 $ n $ 道试题。每道试题都标明了所属类别。同一道题可能有多个类别属性。现要从题库中抽取 $ m $ 道题组成试卷。并要求试卷包含指定类型的试题。试设计一个满足要求的组卷算法。

输入格式

第 $ 1 $ 行有 $ 2 $ 个正整数 $ k $ 和 $ n $。$ k $ 表示题库中试题类型总数,$ n $ 表示题库中试题总数。第 $ 2 $ 行有 $ k $ 个正整数,第 $ i $ 个正整数表示要选出的类型 $ i $ 的题数。这 $ k $ 个数相加就是要选出的总题数 $ m $。

接下来的 $ n $ 行给出了题库中每个试题的类型信息。每行的第 $ 1 $ 个正整数 $ p $ 表明该题可以属于 $ p $ 类,接着的 $ p $ 个数是该题所属的类型号。

输出格式

第 $ i $ 行输出 i: 后接类型 $ i $ 的题号。如果有多个满足要求的方案,只要输出一个方案。如果问题无解,则输出 No Solution!

样例

input

3 15
3 3 4
2 1 2
1 3
1 3
1 3
1 3
3 1 2 3
2 2 3
2 1 3
1 2
1 2
2 1 2
2 1 3
2 1 2
1 1
3 1 2 3

output

1: 1 6 8
2: 7 9 10
3: 2 3 4 5

数据范围与提示

$ 2 \leq k \leq 20, k \leq n \leq 1000 $