一些生物的结构组成可以由大写字母序列来表示。
生物学家们喜欢将长序列拆分成较短序列来进行研究。
给定一个由若干短序列构成的集合 $P$,如果从中选取部分元素(可使用多次)能够拼接成一个序列 $S$,那么就说 $S$ 由 $P$ 组成。
$S$ 可以只包含 $P$ 中的部分元素,例如,序列 ABABACABAAB
就可以由集合 {A,AB,BA,CA,BBC}
组成。
$S$ 的前 $K$ 个字符称为 $S$ 的长度为 $K$ 的前缀。
现在给定一个短序列集合 $P$ 以及一个大写字母序列 $S$,请你求出可以由集合 $P$ 组成的 $S$ 的最长前缀的长度是多少。
输入格式
首先,将输入短序列集合 $P$,集合中的元素将在一行或多行中给出,每个短序列之间用空格隔开。
集合的所有元素都输入完毕后,会在独立的一行输入一个 .
表明集合已经输入完毕。
保证集合中的元素互不相同。
然后输入大写字母序列 $S$,序列可能占一行或多行,每行最多包含 $76$ 个字母,换行符不是序列的一部分。
输出格式
输出一个整数,表示可组成的最长前缀的长度。
数据范围
$P$ 中的元素数量不会超过 $200$,每个元素的长度不会超过 $10$。
$S$ 的长度不会超过 $2 \times 10^5$。
输入样例:
A AB BA CA BBC
.
ABABACABAABC
输出样例:
11