Fişierul intrare/ieşire: | frumoasa.in, frumoasa.out | Sursă | FMI No Stress 4 |
Autor | Dragos Alin Rotaru | Adăugată de | |
Timp execuţie pe test | 0.025 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Frumoasa
Tractorel a renunţat (pe moment) la leii grei si băutul de lapte. Datorită valorii sale a fost capturat de greci. Se dau 3 numere N, P, 1000000007 ( 109 + 7 ) şi un alfabet SIGMA = {'a', 'b', ..., 'z'} format din 26 de litere.
Fie un cuvânt format din literele c1c2...cN. Definim distanţa dintre 2 litere ci, cj ca fiind |i - j|. Restricţionat de greci, Tractorel nu poate forma decât cuvinte de lungime N cu litere din alfabetul SIGMA astfel încât oricare 2 litere identice să se afle la distanţa cel puţin P + 1.
Tractorel e in necaz mare, ştiind ca Romania - Grecia se va termina 3-0 vă cere ajutorul sa număraţi şirurile pe care le poate forma in prezenţa grecilor.
Atenţie! Din motive obscure, rezultatul se doreşte a fi afişat modulo 1000000007 .
Date de intrare
Fişierul de intrare frumoasa.in conţine pe prima linie 2 numere: N şi P.
Date de ieşire
În fişierul de ieşire frumoasa.out se va afişa un singur număr reprezentând răspunsul.
Restricţii
- 1 ≤ N ≤ 1015
- 1 ≤ P ≤ N
Exemplu
frumoasa.in | frumoasa.out |
---|---|
2 1 | 650 |
Explicaţie
ab, ac, ... az, ba, bc, ... yz, za, zb, ..., zy