Description
有 K 个学生,第 i 个学生的姓名是 name[i],姓名是由长度不超过 20 个小写字母构成的,
不存在姓名相同的学生。老师有 N 个礼物要分给学生。老师每次发一个礼物,每次只有一个
学生能收到礼物,收到礼物的学生被称为本次得奖人,老师每次确定得奖人的过程是这样的:
1、老师给出一个小写字母,不妨假设该小写字母为 ‘a’。
2、姓名以‘a’开头的所有同学都是能拿到本次礼物的资格人选。
3、在资格人选当中,目前得到礼物数量最少的称为候选人。
4、如果候选人只有 1 人,那么该候选人就是本次得奖人;如果候选人多于 1 人,那么候选
人当中,姓名字典序最小的那位候选人就是本次得奖人。
5、每次你的任务就是输出得奖人的姓名。
Input
第一行,两个整数,K 和 N。
接下来有 K 行,第 i 行是第 i 个学生的姓名 name[i]。
接下来有 N 行,第 i 行是一个小写字母,表示老师发第个礼物时选取的字母。
Output
共 N 行,每行一个学生姓名,第 i 行对应老师发第 i 个礼物的得奖人姓名。
4 5
zagreb
split
zadar
sisak
z
s
s
z
z
zadar
sisak
split
zagreb
zadar
HINT
【数据范围】
对于 60%的数据,1 <= N, K <= 500。
对于 100%的数据,1 <= K <= 100000, 1 <= N <= 100000。