seuOJ453 - 弱者都是群居者

题目描述

真正的强者才不会群居的。孤独者永远都是和这个世界的全部相对立的。只有弱者才喜欢扎堆,问题是绝大部分人都是弱者。

——比企谷八幡(渡航,《我的青春恋爱物语果然有问题》)

我们给出一些的字符串 TiT_i ,而如果 TiT_i 作为一个字符串 TT' 的子串出现,那么 TT' 也是的。对于一个字符串 SS,我们希望在其中任意截取的子串都是的。我们限制所截取子串的长度至少为 kk,如果要满足上述限制,则这个 kk 的最小值是多少?

换句话说,你要找到一个最小长度 kk ,使得从文本串 SS 中截取出任意长度大于等于 kk 的子串,都至少有一个模式串是它的子串。如果不能找到这样一个长度,则输出 1-1

输入格式

第一行一个正整数 n(1n2×105)n (1 \leq n \leq 2 \times 10^5),表示模式串个数。

接下来 nn 行,为分别为一个模式串 Ti(1Ti5×104,ΣTi5×105)T_i (1 \leq |T_i| \leq 5 \times 10^4, \Sigma |T_i| \leq 5 \times 10^5)

最后一行为一个文本串 S(1S4×106)S (1 \leq |S| \leq 4 \times 10^6)

保证所有输入的字符串都是由小写字母组成。

输出格式

输出最小的子串长度 kk。如果不存在,则输出 1-1

样例

输入样例:

3
ab
bcd
bc
abcd

输出样例:

3

样例解释:
对于子串abcab是它的子串;
对于子串bcdbcd是它的子串。