#3495. 火星人的字符串

火星人的字符串

题目描述

在研究火星人的过程中,Petya 清楚地意识到火星人非常懒:他们喜欢睡觉,不喜欢起床。

设想一只恰好有 nn 只眼睛的火星人,眼睛排成一行,从左到右编号 1 到 nn。火星人睡觉时,他给每只眼睛都盖上一块眼罩(免得火星的清晨把他吵醒)。每块眼罩的内侧写着一个大写拉丁字母。于是,火星人醒来睁开所有眼睛时,会看到一个由大写拉丁字母组成、长度为 nn 的字符串 ss。

"叮咚!"——闹钟响了。火星人已经醒了,但一只眼睛都还没睁开。他感觉今天会是艰难的一天,所以他想睁开眼睛后看到点美好的东西。这只火星人只认为 mm 个火星单词是"漂亮的"。此外,一大早把所有眼睛同时睁开对他来说太费劲,所以他只睁开两段互不相交的连续眼睛区段。严格地说,火星人选择四个数 aa、bb、cc、dd(1≤a≤b<c≤d≤n1 \le a \le b \lt c \le d \le n),然后睁开所有满足 a≤i≤ba \le i \le b 或 c≤i≤dc \le i \le d 的眼睛。睁开后,他从左到右读出所有可见字符,于是看到一个单词。

考虑火星人早上可能看到的所有不同单词。你的任务是:求其中有多少个是漂亮单词。

输入格式

第一行包含一个由大写拉丁字母组成的非空字符串 ss,其长度为 nn(2≤n≤1052 \le n \le 10^5)。第二行包含一个整数 mm(1≤m≤1001 \le m \le 100),表示漂亮单词的个数。接下来 mm 行,每行一个由大写拉丁字母组成的漂亮单词 pip_i,长度在 1 到 1000 之间。所有漂亮单词两两不同。

输出格式

输出一个整数——火星人这天早上可能看到的不同漂亮单词个数。

ABCBABA
2
BAAB
ABBA
1

说明/提示

样例中,火星人只能看到第二个漂亮单词:他可以睁开眼睛区段 a=1, b=2 和 c=4, d=5,或者区段 a=1, b=2 和 c=6, d=7。