Problem F
Dansk
Languages
da
en
sv
Boschua skal flytte til Lund for at studere ved LTH. Du har fundet ud af, at Lund ligger i Skåne, og nu er du bekymret for, at Boschua begynder at lyde dansk.
For at forhindre dette vil du vise Boschua, hvor mange ord der overhovedet ikke lyder danske. Ifølge dig lyder et ord dansk, hvis det indeholder mindst ét ord fra den danske ordbog. Desværre ejer du ikke den officielle danske ordbog, men den gamle ordbog, du fandt i kælderen, må gøre det.
For eksempel, antag at ordbogen kun indeholder ordet knallert. Så mener du, at ordet husknallertrumma lyder dansk, fordi det indeholder ordet knallert. Derimod mener du, at ordet knallerunt ikke lyder dansk, fordi det ikke indeholder knallert.
Du indser hurtigt, at der er for mange ord, der ikke lyder danske, til at skrive dem alle ned. Derfor tænker du, at det er nok at tælle antallet af ord, der ikke lyder danske, og fortælle det til Boschua. Selv dette viser sig at være svært, fordi der er så mange ord, der ikke lyder danske.
Til sidst nøjes du med at tælle antallet af ord, der kun består af små engelske bogstaver a-z, har præcis $N$ bogstaver, og ikke lyder danske. Et ord lyder for dansk, hvis det indeholder mindst ét ord fra ordbogen som en delstreng.
Input
Den første linje i inputtet indeholder heltallene $N$ ($1 \leq N \leq 100$) og $M$ ($0 \leq M \leq 150$), længden af de ord, vi betragter, og antallet af ord i ordbogen.
Derefter følger $M$ linjer, hvor hver linje indeholder et ord fra ordbogen. Alle disse ord har en længde på højst $N$ og består af bogstaverne a-z. Alle disse ord er desuden unikke.
Output
Udskriv antallet af ord med længde $N$, der ikke lyder for danske. Da dette tal kan blive meget stort, udskriv det modulo $10^9+7$.
Pointsystem
Din løsning vil blive testet på en række testgrupper, hver med en vist antal point. Hver testgruppe indeholder en række testfald. For at opnå point for en testgruppe skal du løse alle testfald i testgruppen.
Gruppe |
Point |
Begrænsninger |
$1$ |
$10$ |
$M = 0$ |
$2$ |
$13$ |
$N \leq 3, M \leq 10$ |
$3$ |
$23$ |
$M = 1$ |
$4$ |
$32$ |
$N, M \leq 50$ |
$5$ |
$22$ |
Ingen yderligere begrænsninger. |
Forklaring af eksempler
I det første tilfælde findes der $26^3$ forskellige ord. Da den danske ordbog er tom i dette tilfælde, forbydes ingen af dem.
Sample Input 1 | Sample Output 1 |
---|---|
3 0 |
17576 |
Sample Input 2 | Sample Output 2 |
---|---|
2 2 a po |
624 |
Sample Input 3 | Sample Output 3 |
---|---|
5 5 java py js rust apl |
11738952 |