题目描述
奶牛贝西有了一部新手机,她很喜欢发短信,尽管她经常犯拼写错误,因为她的大蹄子在这么小的屏幕上打字有困难。
农场主约翰同意帮她写一个自动补全的应用程序,它会提取一个单词的一部分,并给出补全建议。
动完成应用程序可以访问包含W个单词的字典,每个单词由小写字母组成,范围为a..Z,其中所有单词中的字母总数最 多不超过1,000,000个。
应用程序给出了一个由N个部分单词(1<=N<=1000)组成的列表,每个单词最多包含1000个小写字母。除了每个部分单词i之外,还提供了一个整数Ki,这样应用程序必须找到以部分单词i作为前缀的(Ki)第一个字母顺序的单词。
也就是说,如果对第i个部分单词的所有有效补全排序,应用程序应该输 出补全结果
贝西新买了手机,打字不方便,请设计一款应用,帮助她快速发消息。
字典里有W(W<=30000)个小写字母构成的单词,所有单词的字符总数量不超过1,000,000,这些单词是无序的。
现在给出N(1<=N<=1000)个询问,每个询问i包含一个的字符串si(每个字符串最多包含1000 个字符)和一个整数Ki,对于所有以si为前缀的单词,其中按字典序排序后的第Ki个单词,
求该单词在原 字典里的序号
输入格式
第一行:两个整数:W和N。
第2..W+1行:第i行+1:字典中的第i个单词。
第W+2..W+N+1行:第W+i+1行:单个整数Ki后跟一个部分单词。
输出格式
第1..N行:第i行应该包含字典中的索引
(Ki)第(Ki)次补全(∈第i个部分单词的字母顺序),
如果有,则为−1尽次数小于Ki。
样例
输入样例
10 3
dab
ba
ab
daa
aa
aaa
aab
abc
ac
dadba
4 a
2 da
4 da
输出样例
3
1
-1