Podřetězce
Je dána množina R několika řetězců stejné kladné délky K. Každý z řetězců množiny R je sestaven pouze ze znaků 'A', 'B', 'C', 'D' a každý tento znak se může v řetězci vyskytovat vícekrát nebo v něm může docela chybět.Je dáno celé kladné číslo L. Dále je dána množina S všech navzájem různých řetězců délky L, která má navíc tu vlastnost, že každý podřetězec délky K každého jejího prvku je zároveň prvkem množiny R. Za podřetězec považujeme vždy souvislou podposloupnost znaků daného řetězce.
Úloha
Máme určit mohutnost množiny S.
Vstup
Na vstupu je více řádků. První řádek obsahuje číslo L. Na dalších řádcích je uvedena množina R, tak, že každý její prvek je zapsán na právě jednom řádku. Poslední řádek vstupu obsahuje jediný znak '*' (hvězdička), tento znak ukončuje výčet prvků množiny R a nepatří do ní. Vstup neobsahuje mezery ani prázdné řádky.Hodnota L nepřekročí 200, mohutnost R nepřekročí 50 a hodnota K nepřekročí 15.
Výstup
Na výstupu je jeden textový řádek s jedním celým číslem představujícím mohutnost množiny S. Mohutnost množiny S nepřekročí hodnotu 263−1.Příklad 1
Vstup:10 AB BB BA *Výstup:
144Všimněte si, že 144 je třináctým prvkem Fibonacciho posloupnosti {0, 1, 1, 2, 3, 5, 8, 13, 21, ... }.
Příklad 2
Vstup:106 ABB BBC BBA BAA AAB BCA CAB CBB BCB *Výstup:
309478917640396
Příklad 3
Vstup:15 ABB BBB BBA BAB *Výstup:
406