#6776. Kevin的排名表

Kevin的排名表

题目描述

期中考试结束后,Kevin老师拿着一份只有名字的排名表走进了教室。 “这次考试,大家的成绩我已经知道了,”他推了推眼镜,神秘地笑了笑,“但是呢,我不小心把分数那一列弄丢了。”

全班顿时炸开了锅。

“别急别急,”Kevin老师拍拍手,“虽然分数没了,但排名顺序是严格按规则排的: 先按总分从高到低,如果分数相同,再按名字的字典序(从第一个字母开始,逐个比较,谁先在字母表里靠前,谁就“更小”,排在前面。)从小到大排。 并且,分数相同的人名次相同。”

“现在,排名表上只剩下名字的顺序了。你们每个人都可以问一个问题:你有可能得到的最好名次是多少?”

“那我要是本来不及格,但名字靠前,岂不是能幻想自己考了满分?”爱丽丝嘀咕道。

“没错!”Kevin老师笑了,“因为分数被抹掉了,所以一切排名都有可能——只要不违反名字的字典序约束。你们可以假设自己的分数无限高,也可以和别人同分,前提是最终的名次表要和你们看到的这个顺序一致。”

同学们互相对视,开始兴奋起来。

输入格式

第一行一个整数 nn1<=n<=30001 <= n <= 3000),表示考生人数。

接下来 nn 行,每行一个字符串,表示从第 1 名到第 nn 名的考生名字。
名字仅由小写字母组成,长度不超过 5,且所有名字互不相同。

n+2n+2 行一个整数 qq1<=q<=30001 <= q <= 3000),表示询问人数。

接下来 qq 行,每行一个字符串,表示被询问的考生名字(保证名字一定在排名表中出现)。

输出格式

对于每个询问,输出一行一个整数,表示该考生可能获得的最好名次(名次从1开始,并列时占用同一名次,后面的人名次顺延)。

样例

4
alice
bob
lucy
hacke
2
hacke
bob
4
1