【模板】AC自动机(简单版)

题目背景

## 警告:通过套取数据而直接“打表”过题者,是作弊行为,发现即棕名。 这是一道简单的 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$。