C1959 一个顶俩

内存限制:256 MB 时间限制:1000 ms

题目描述

QQ 推出了有趣的接龙红包,规则是这样的:每个人轮流说一个成语,当某一个人说的成语的最后一个字为 $a$ 时,那么下一个人说的成语的第一个字也要为 $a$。这样就可以一直领取红包!

注意:每个成语都是四字成语。

于是,某个 QQ 群开始了这样的游戏。

“吉祥如意”!

“一个顶俩”!

毒瘤!没有以 “俩” 开头的成语!

我们将四字成语抽象成四个字符,现在 33 学长拿到了一个以 $a$ 结束的成语,他想知道最少几步可以接龙到以 $b$ 结尾的成语($b$是一个毒瘤的发音,因为没有以 $b$ 开头的成语)。

输入格式

先输入两个大写或小写的英文字母 $a$,$b$,意义如题面所示。

然后输入一个正整数 $n$,代表总共有 $n$ 个成语。($1 \le n \le 10^5$)

接下来输入 $n$ 个长度为 $4$ 的字符串,分别代表每一个成语,字符串仅包含大写或小写英文字母,保证没有以 $b$ 开头的成语($b$ 指输入中的 $b$,不是小写英文字母 b)。

输出

输出一行一个正整数表示答案,如果无论如何都不能接龙到以 $b$ 开头的成语,输出 $-1$

样例

样例输入 1

a b 2 aaac cccb

样例输出 1

2

样例输入 2

a c 2 aaab bbba

样例输出 2

-1

提示