Popločavanje


Submit solution

Points: 160 (partial)
Time limit: 4.0s
Memory limit: 500M

Problem type
Allowed languages
Assembly, Awk, C, C++, Java, Perl, Python

Mirkova ulica sastavljena je od N malih slova engleske abecede. Svakih nekoliko godina gradske vlasti obnavljaju ploče na ulici. Međutim, zbog velike potražnje slovkastih ploča, oni mogu nabaviti samo M različitih vrsta ploča.

i-ta vrsta ploče sačinjena je od Li slova. Ploča se ne smije lomiti niti okretati, a smije biti postavljena na ulicu samo na mjestima gdje se slova s ploče podudaraju s nizom uzastopnih slova na ulici. Neko polje nazivamo nepopločljivim ako ne postoji niti jedna ploča koja ga može pokriti. Izračunajte broj nepopločljivih polja.

Ulazni podaci

Prvi redak ulaza sadrži cijeli broj N (1 ≤ N ≤ 300 000), duljinu ulice.

Drugi redak sadrži N malih slova engleske abecede, poruku zapisanu na ulici.

Treći redak sadrži cijeli broj M (1 ≤ M ≤ 5000), broj vrsta ploča.

Svaki od sljedećih redaka sadrži opis jedne vrste ploče duljine Li (1 ≤ Li ≤ 5000). Ploče će sadržavati mala slova engleske abecede.

Izlazni podaci

U jedinom retku izlaza ispišite traženi broj nepopločljivih polja.

Primjeri test podataka

Ulaz
6
abcbab
2
cb
cbab
Izlaz
2
Ulaz
4
abab
2
bac
baba
Izlaz
4
Ulaz
6
abcabc
2
abca
cab
Izlaz
1

Comments

There are no comments at the moment.