#W2682. 奖励

奖励

题目描述

有 K 个学生,第 i 个学生的姓名是 name[i],姓名是由长度不超过 20 个小写字母构成的,不存在姓名相同的学生。老师有 N 个礼物要分给学生。老师每次发一个礼物,每次只有一个学生能收到礼物,收到礼物的学生被称为本次得奖人,老师每次确定得奖人的过程是这样的:

1、老师给出一个小写字母,不妨假设该小写字母为 ‘a’。

2、姓名以‘a’开头的所有同学都是能拿到本次礼物的 资格人选。

3、在资格人选当中,目前得到礼物数量最少的称为 候选人。

4、如果候选人只有 1 人,那么该候选人就是本次 得奖人;如果候选人多于 1 人,那么候选 人当中,姓名字典序最小的那位候选人就是本次 得奖人。

5、每次你的任务就是输出得奖人的姓名。

输入格式

第一行,两个整数,K 和 N。

接下来有 K 行,第 i 行是第 i 个学生的姓名 name[i]。

接下来有 N 行,第 i 行是一个小写字母,表示老师发第个礼物时选取的字母。

输出格式

共 N 行,每行一个学生姓名,第 i 行对应老师发第 i 个礼物的得奖人姓名。

4 5
zagreb
split
zadar
sisak
z
s
s
z
z
zadar

sisak split zagreb zadar

</p>

提示

本题共 10 个测试点。

来源

动态数组 / DLOI2018XJ6