1046: 变形课的烦恼

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:87 Solved:16

Description

霍格沃茨魔法学院是欧洲最为著名的魔法学院,它位于英格兰北部安尼克山湖旁的城堡中。霍格沃茨魔法学院的办学目标是为欧洲大陆培养合格的魔法师。

学校的课程琳琅满目,有魔药课(Potion)、占卜课(Divination)、魔咒课(Charms)、变形课(Transfiguration)、黑魔法防御术(Defence Against the Dark Arts)、麻瓜研究(Muggle Studies)等等。而其中最为重要的,当属变形课(Transfiguration),也就是将一件物品变成另一件物品的神奇法术。

SYH对魔法有着强烈的兴趣。这个暑假,SYH决定离家出走,到霍格沃茨魔法学院进行短期学习。然而他在变形课上遇到了大麻烦。我们都知道,施放法术需要魔法师念出咒语。而这些咒语通常非常长而且绕口,有时甚至会达到几百个字符。SYH的记忆力非常差,他经常会因为记错咒语,从而将他的晚餐面包变成棒球。

不过SYH在学习的过程中发现了一个规律:如果咒语是以a字符开头b字符结尾的一个单词,那么它的作用就是将物体a变成物体b。

现在SYH有一本非常厚的咒语词典,其中包含N条咒语(其中每条咒语一定是由26个小写英文字符所组成的)。现在SYH想要知道,将A物品变成B物品是否可行,如果可行,最少需要念几次咒语?

Input

输入文件名为 magic.in

输入共N+Q+1行:第一行为2个正整数N、Q,分别代表字典中咒语的条数和询问个数。

       接下来N行,每行有一个字符串(仅包含26个小写英文字符),描述字典里的一条咒语。

       接下来Q行,每行有两个小写英文字符a、b,用空格分隔,表示询问a物品变为b物品最少要念多少次咒语。

Output

输出文件名为 magic.out

输出共有Q行,每一行有一个整数,针对各个询问,依次输出念咒语的最少次数。如果a物品无法变为b物品,输出-1。

Sample Input Copy

9 4
so
soon
river
goes
them
got
moon
begin
big
b m
b n
s r
n n

Sample Output Copy

3
1
-1
0

HINT

【样例解释】

       对于第一个询问,想要将b变成m,可以依次念以下咒语序列:“big-got-them”。

       对于第二个询问,想要将b变成n,可以直接念“begin”

       对于第三个询问,在现有的字典下,无论怎么念,都无法将s变成r

 

【数据范围】

       对于100%的数据 2 N,Q 105,咒语长度2≤leni≤1000