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