题目描述
有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 个礼物的得奖人姓名。
样例输入输出
输入#1
复制
4 5
zagreb
split
zadar
sisak
z
s
s
z
z
输出#1
复制
zadar
sisak
split
zagreb
zadar
提示
【数据范围】
对于60%的数据,1 <= N, K <= 500。
对于100%的数据,1 <= K <= 100000, 1 <= N <= 100000。