Logo Universal Online Judge

UOJ

时间限制:N/A 空间限制:N/A
统计

题目背景

警告:通过套取数据而直接“打表”过题者,是作弊行为,发现即棕名。

这是一道简单的 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$中仅包含小写字母。