在梦幻曲棍球中,有 $n$ 位球队老板,每位老板需要挑选 $k$ 名曲棍球运动员。为了决定哪位老板获得哪些球员,老板们举行了一场选秀。
选秀过程如下:第一位老板可以挑选任意一名球员,然后第二位老板可以挑选除第一位被选球员之外的任意一名球员,以此类推。通常情况下,当前轮次的老板可以挑选之前尚未被选中的任意球员。一旦所有老板都挑选了一名球员,他们将重复此过程,直到所有老板都选满了 $k$ 名球员。任何球员都不能被多个团队选中。
最初,所有球员都根据上一年的表现排名。然而,老板们可能并不认同这个排名。例如,第一位老板可能认为去年排名第三的球员是最好的球员,并倾向于优先选择他。
每位老板都有一个偏好列表。轮到某位老板挑选时,他会选择自己偏好列表中排名最高且尚未被选中的球员。如果他偏好列表中的所有球员都已被选中,那么他们将转而使用去年的排名顺序进行选择。
给定每位老板的偏好列表以及去年的排名,请问每位老板最终分别获得了哪些球员?
输入格式
第一行包含两个整数 $n$ ($1 \le n \le 60$),表示老板的数量;$k$ ($1 \le k \le 1\,000$),表示每个团队的大小。
接下来的 $n$ 行包含老板们按选秀顺序排列的偏好。每行以一个整数 $q_i$ ($0 \le q_i \le 1\,500$) 开头,表示第 $i$ 位老板偏好列表的大小。随后是 $q_i$ 个名字,以空格分隔,按第 $i$ 位老板的偏好顺序排列。在第 $i$ 位老板的列表中,没有名字会出现超过一次。
下一行包含一个整数 $p$ ($n \cdot k \le p \le 65\,000$),表示选秀中球员的总数。
接下来的 $p$ 行,每行包含一个名字,这些名字按去年的排名顺序排列。每个球员的名字都是唯一的,且由最多 12 个英文字母组成。
保证老板偏好列表中的名字都会出现在球员列表中。
输出格式
输出 $n$ 行。第 $i$ 行包含第 $i$ 位老板选中的 $k$ 个球员的名字。$n$ 个团队应按老板的原始顺序排列,且每个团队内的球员应按上述规则选中的顺序排列。
样例
样例输入 1
2 2 0 0 6 Shoresy Jonesy Reilly Sholtzy Fisky Yorkie
样例输出 1
Shoresy Reilly Jonesy Sholtzy
样例输入 2
2 2 2 Reilly Shoresy 2 Shoresy Reilly 6 Shoresy Jonesy Reilly Sholtzy Fisky Yorkie
样例输出 2
Reilly Jonesy Shoresy Sholtzy