atcoder#ABC268H. [ABC268Ex] Taboo

[ABC268Ex] Taboo

Score : 600600 points

Problem Statement

You are given a string SS. Takahashi may perform the following operation 00 or more times:

  • Choose an integer ii such that 1iS1 \leq i \leq |S| and change the ii-th character of SS to *.

Takahashi's objective is to make SS not contain any of NN strings T1,T2,,TNT_1,T_2,\ldots,T_N as a substring. Find the minimum number of operations required to achieve the objective.

Constraints

  • 1S5×1051 \leq |S| \leq 5 \times 10^5
  • 1N1 \leq N
  • NN is an integer.
  • 1Ti1 \leq |T_i|
  • Ti5×105\sum{|T_i|} \leq 5 \times 10^5
  • TiTjT_i \neq T_j if iji \neq j.
  • SS and TiT_i are strings consisting of lowercase English letters.

Input

Input is given from Standard Input in the following format:

SS

NN

T1T_1

T2T_2

\vdots

TNT_N

Output

Print the answer.

abcdefghijklmn
3
abcd
ijk
ghi
2

If he performs the operation twice by choosing 11 and 99 for ii, SS becomes *bcdefgh*jklmn; now it does not contain abcd, ijk, or ghi as a substring.

atcoderbeginnercontest
1
abc
0

No operation is needed.

aaaaaaaaa
2
aa
xyz
4