[COCI2011-2012#5] POPLOČAVANJE

题目背景

注意:本题相对于原题缩小了空间限制,需要一些小技巧才能通过。

题目描述

有一条由 $N$ 个英文小写字母组成的街道,市政府偶尔会更换街道上的瓷砖。但是,字母瓷砖的需求量很大,所以政府只有 $M$ 种字母瓷砖可供选择。 第 $i$ 个瓦片图案由 $L_{i}$ 个字母组成。瓷砖不能旋转,也不能打碎,而且只能放置在瓷砖字母与街道上连续的字母子序列重合的地方。 瓷砖可以重叠,且可以使用相同图案的多块瓷砖。如果一个街道不能被任何瓷砖覆盖,那么他就是不好的。 求有多少个不好的街道。

输入输出格式

输入格式


第一行,一个整数 $N$,表示街道上的字母数。 第二行有 $N$ 个小写字母,表示街道上的序列,由小写字母组成。 第三行,一个整数 $M$,表示瓷砖数量。 接着 $M$ 行,每行 $L_{i}$ 个小写字母,表示该瓷砖的图案。

输出格式


一行,一个整数,表示方案数。

输入输出样例

输入样例 #1

6
abcbab
2
cb
cbab

输出样例 #1

2

输入样例 #2

4
abab
2
bac
baba

输出样例 #2

4

输入样例 #3

6
abcabc
2
abca
cab

输出样例 #3

1

说明

$1\le N\le 3\times 10^{5}$,$1\le M\le 5\times 10^{3}$,$1\le L_{i}\le 5\times 10^{3}$。 题目译自 [COCI 2011/2012 #5 T6](https://hsin.hr/coci/archive/2011_2012/contest5_tasks.pdf)。