Time limit: 0.12s
Memory limit: 128MB
Input: reversez.in
Output: reversez.out
Considerăm un alfabet cu caractere. Notam = cel mai lung prefix comun dintre un string și un string . Pentru un string o să notăm = sufixul stringului care începe la poziția . Având stringul , o să creăm șirul .
Cerință
Cunoscând șirul și lungimea alfabetului , să determine câte stringuri generează șirul .
Date de intrare
Pe prima linie a fișierului de intrare reversez.in
se vor afla doua numere naturale și , cu semnificația din enunț. Pe linia se vor afla numere naturale reprezentând șirul .
Date de ieșire
În fișierul de ieșire reversez.out
veți afișa un singur număr natural reprezentând numărul de stringuri cerut, modulo .
Restricții și precizări
- ;
- ;
- Numărul de soluții va fi cel puțin .
Exemplu
reversez.in
4 3
4 1 0 1
reversez.out
6
Explicație
Dacă , cele stringuri posibile sunt:
1121
, 1131
, 2212
, 2232
, 3313
, 3323