Bokstavstärningar

Klara har $N$ bokstavstärningar. Varje tärning har en bokstav på var och en av sina $2 \le K \le 20$ sidor. Genom att slå tärningarna och ordna dem på valfritt sätt kan man skapa ett ord med $N$ bokstäver.

Skriv ett program som räknar ut hur många giltiga ord man kan skriva med Klaras bokstavstärningar. Till din hjälp har du en ordlista som innehåller alla $M$ giltiga ord med $N$ bokstäver.

\includegraphics[width=0.6\textwidth ]{tarningar.png}
Figure 1: En illustration av det första exemplet. Eftersom $K=3$ innehåller endast tre sidor på tärningarna bokstäver. Det går också att skriva STOL och MASK, men inte NATT och KOST

Input

Den första raden i indatan innehåller tre heltal: $N$, $K$ och $M$. Därefter följer $N$ rader med vardera $K$ bokstäver, bokstäverna på varje tärning. Sist kommer $M$ rader med vardera $N$ bokstäver, listan på alla giltiga ord.

Enbart stora engelska bokstäver (A-Z) förekommer i indata.

Ingen bokstav kan förekomma på mer än en sida av en tärning.

Output

Ditt program ska skriva ut ett enda heltal: antalet giltiga ord som kan skrivas.

Poängsättning

Din lösning kommer att testas på en mängd testfallsgrupper. För att få poäng för en grupp så måste du klara alla testfall i gruppen.

Grupp

Poängvärde

Begränsningar

1

9

$K = 2, N \le 4, M \le 100$

2

9

$K \le 6, N \le 5, M \le 100$

3

12

$K \le 20, N \le 6, M \le 1000$

4

14

$K \le 15, N \le 6, M \le 10\, 000$

5

21

$K \le 20, N \le 6, M \le 100\, 000$

6

35

$K \le 10, N \le 13, M \le 500$

Sample Input 1 Sample Output 1
4 3 5
TSU
NKT
KMO
LJA
KATT
NATT
STOL
MASK
KOST
3