#P5252. 「2019-03-10提高模拟赛」字符串(string)

「2019-03-10提高模拟赛」字符串(string)

Description

人类的本质是——复读机。

众所周知,Tweetuzki 喜欢复读。

有时候,Tweetuzki 会得到某个字符串 ss。这时他会把 ss 不断重复不断重复连成一个无限长的串。比如说,Tweetuzki 现在得到一个串 xrjakioi\texttt{xrjakioi},他会一直复读,那么形成的字符串就是:我有一个绝妙的无限长的串,可惜这里的空白太小我写不下

$\texttt{xrjakioixrjakioixrjakioixrjakioixrjakioixrjakioixrjakioixrjakioixrjakioixrjakioixrjakioixrjakioixrjakioixrjakioixrjakioixrjakioixrjakioi}$

同样众所周知的是,发送消息的字长是有限制的。如果要发送的串超过了长度限制,那么就只会发送这个串的一个前缀。比如说对于上述无限长的字符串,若长度限制是 1313,那么实际发出去的字符串是 xrjakioixrjak\texttt{xrjakioixrjak}

现在 Tweetuzki 发出去了一个字符串 TT,但他不能确定他复读的字符串是什么了。他唯一知道的是,他复读的字符串,一定是 mm 个字符串中的一个。他希望知道,在这 mm 个字符串中,有多少个字符串可能是 Tweetuzki 复读后发送出去的呢?

Input Format

从文件 string.in 中读入。

输入文件将会遵循以下格式:

nn
TT
mm
S1S_1
S2S_2
\vdots
SmS_m

第一行输入一个字符 nn (1n106)(1 \le n \le 10^6),表示发送消息的长度限制。
第二行输入一个长度为 nn 的字符串 TT,表示 Tweetuzki 发送的消息。
第三行输入一个数 mm (1m106)(1 \le m \le 10^6)。表示字符串个数。
接下来 mm 行,每行输入一个字符串 SS (1Sn,S107)(1 \le |S| \le n, \sum |S| \le 10^7)

保证所有字符串中仅出现小写字母。

Output Format

输出到文件 string.out 中。

输出一行一个整数,表示 mm 个串中经过复读并发出后能够形成 TT 的串个数。

Sample

样例输入 1

9
abaabaaba
3
aba
ab
abaaba

样例输出 1

2

样例解释 1

可能形成的字符串是 aba\texttt{aba}abaaba\texttt{abaaba}

样例输入 2

30
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
10
aaaaaa
aaaa
aaaaaaaaaaaaa
aaaaaa
a
aaaaaaaaaaab
bbbaaa
aababa
avavavavav
aaaaaaaaaaaaaaaaaaaaaaaaaaaaab

样例输出 2

5

Hint

Subtask #1 (30 points): 1n,m1001 \le n, m \le 100
Subtask #2 (20 points): 1n,m10001 \le n, m \le 1000
Subtask #3 (20 points): TTSS 的每一个位置上的字母在 a\texttt{a}z\texttt{z} 中均匀随机,且该档只有 77 个测试点。
Subtask #4 (30 points): 无特殊性质。

保证约 40%40\% 测试点的字符串中含有彩蛋 [斜眼笑]。