题目背景
警告:通过套取数据而直接“打表”过题者,是作弊行为,发现即棕名。
这是一道简单的 AC 自动机模板题,用于检测正确性以及算法常数。
题目描述
给定$n$个模式串$s_i$和一个文本串$t$,求有多少个不同的模式串在文本串里出现过。
两个模式串不同当且仅当他们编号不同。
输入输出格式
输入格式
第一行是一个整数,表示模式串的个数$n$。
第$2$到第$(n + 1)$行,每行一个字符串,第$(i + 1)$行的字符串表示编号为$i$的模式串$s_i$。
最后一行是一个字符串,表示文本串$t$。
输出格式
输出一行一个整数表示答案。
输入输出样例
输入样例 #1
3
a
aa
aa
aaa
输出样例 #1
3
输入样例 #2
4
a
ab
ac
abc
abcd
输出样例 #2
3
输入样例 #3
2
a
aa
aa
输出样例 #3
2
说明/提示
样例 1 解释
$s_2$与$s_3$编号(下标)不同,因此各自对答案产生了一次贡献。
样例 2 解释
$s_1$,$s_2$,$s_4$都在串 abcd
里出现过。
数据规模与约定
- 对于$50\%$的数据,保证$n = 1$。
- 对于$100\%$的数据,保证$1 \leq n \leq 10^6$,$1 \leq |t| \leq 10^6$,$1 \leq \sum\limits_{i = 1}^n |s_i| \leq 10^6$。$s_i, t$中仅包含小写字母。