#abc268h. [abc268_h]Taboo

[abc268_h]Taboo

問題文

文字列 SS が与えられます。また、高橋君は次の操作を 00 回以上行うことが出来ます。

  • 1leqileqS1 \\leq i \\leq |S| なる整数 ii を選び、SSii 文字目を * に変える。

高橋君の目的は、SS部分文字列として NN 個の文字列 T1,T2,ldots,TNT_1,T_2,\\ldots,T_N がいずれも現れないようにすることです。
これを達成するために必要な操作の回数の最小値を求めてください。

制約

  • 1leqSleq5times1051 \\leq |S| \\leq 5 \\times 10^5
  • 1leqN1 \\leq N
  • NN は整数
  • 1leqTi1 \\leq |T_i|
  • sumTileq5times105\\sum{|T_i|} \\leq 5 \\times 10^5
  • ineqji \\neq j ならば TineqTjT_i \\neq T_j
  • S,TiS, T_i は英小文字のみからなる文字列

入力

入力は以下の形式で標準入力から与えられる。

SS NN T1T_1 T2T_2 vdots\\vdots TNT_N

出力

答えを出力せよ。


入力例 1

abcdefghijklmn
3
abcd
ijk
ghi

出力例 1

2

ii として 1199 を選んで操作をすると SS*bcdefgh*jklmn となり、abcdijkghi がいずれも部分文字列として現れなくなります。


入力例 2

atcoderbeginnercontest
1
abc

出力例 2

0

操作をする必要がありません。


入力例 3

aaaaaaaaa
2
aa
xyz

出力例 3

4