真正的强者才不会群居的。孤独者永远都是和这个世界的全部相对立的。只有弱者才喜欢扎堆,问题是绝大部分人都是弱者。
我们给出一些弱的字符串 TiT_iTi ,而如果 TiT_iTi 作为一个字符串 T′T'T′ 的子串出现,那么 T′T'T′ 也是弱的。对于一个字符串 SSS,我们希望在其中任意截取的子串都是弱的。我们限制所截取子串的长度至少为 kkk,如果要满足上述限制,则这个 kkk 的最小值是多少?
换句话说,你要找到一个最小长度 kkk ,使得从文本串 SSS 中截取出任意长度大于等于 kkk 的子串,都至少有一个模式串是它的子串。如果不能找到这样一个长度,则输出 −1-1−1。
第一行一个正整数 n(1≤n≤2×105)n (1 \leq n \leq 2 \times 10^5)n(1≤n≤2×105),表示模式串个数。
接下来 nnn 行,为分别为一个模式串 Ti(1≤∣Ti∣≤5×104,Σ∣Ti∣≤5×105)T_i (1 \leq |T_i| \leq 5 \times 10^4, \Sigma |T_i| \leq 5 \times 10^5)Ti(1≤∣Ti∣≤5×104,Σ∣Ti∣≤5×105)
最后一行为一个文本串 S(1≤∣S∣≤4×106)S (1 \leq |S| \leq 4 \times 10^6)S(1≤∣S∣≤4×106)
保证所有输入的字符串都是由小写字母组成。
输出最小的子串长度 kkk。如果不存在,则输出 −1-1−1。
输入样例:
3 ab bcd bc abcd
输出样例:
3
样例解释: 对于子串abc,ab是它的子串; 对于子串bcd,bcd是它的子串。
abc
ab
bcd