Mirko's ASCII street is made of lowercase letters of the English alphabet. The city government
occasionally replaces the tiles in the street. However, the letter tiles are in high demand, so the
government has only
different tile patterns available.
The tile pattern consists of
letters. A tile cannot be rotated or broken into pieces, and it can only
be placed such that the tile letters coincide with the contiguous letter subsequence in the street.
Tiles can overlap and we can use multiple tiles of the same pattern.
A street cell is untileable if it cannot be covered by any tile. Compute the number of untileable cells.
Input Specification
The first line of input contains the positive integer
, the length of the street.
The second line of input contains lowercase English letters, the letter sequence in the street.
The third line of input contains the positive integer
, the number of tile patterns.
Each of the next lines contains a description of a tile pattern with length
. The tile
pattern descriptions consist of lowercase English letters.
Output Specification
The first and only line of output must contain the required number of untileable cells.
Sample Input 1
6
abcbab
2
cb
cbab
Sample Output 1
2
Sample Input 2
4
abab
2
bac
baba
Sample Output 2
4
Sample Input 3
6
abcabc
2
abca
cab
Sample Output 3
1
Comments