frumos

Time limit: 0.2s Memory limit: 128MB Input: frumos.in Output: frumos.out

De când K.L 2.0 s-a îndrăgostit, vede toate lucrurile mai frumos. Astfel defineşte o secvenţă de litere mici ale alfabetului englez ca fiind frumoasă dacă are codurile ASCII ale caracterelor într-o progresie aritmetică cu raţia nenulă. Apoi K.L 2.0 defineşte un şir de litere mici ale alfabetului englez, care nu conţine două caractere alăturate identice, ca fiind KK-frumos dacă acesta se poate împărţi în KK subsecvenţe frumoase, dar nu se poate împărţi în K1K-1 subsecvenţe frumoase.

Cerință

Determinaţi câte şiruri de lungime NN sunt KK-frumoase. Fiindcă acest număr este destul de mare, voi trebuie să îl calculaţi modulo 666 013666 \ 013.

Date de intrare

Fişierul de intrare frumos.in conţine pe prima linie numerele naturale nenule NN şi KK, separate printr-un spaţiu, cu semnificaţia din enunţ.

Date de ieșire

Fişierul de ieşire frumos.out va conţine pe prima linie numărul cerut, modulo 666 013666 \ 013.

Restricții și precizări

  • 1KN1001 \leq K \leq N \leq 100
  • Şirurile nu conţin două caractere alăturate identice.
  • O subsecvenţă frumoasă poate fi formată dintr-un singur caracter.
  • Şirurile conţin doar litere mici ale alfabetului englez: a, b, c, \dots, z.
  • Un şir se numără o singură dată, chiar dacă există mai multe moduri de a-l împărţi în KK subsecvenţe frumoase.

Exemplu

frumos.in

2 1

frumos.out

650

Explicație

Şirurile de lungime 22 care se împart în exact o grupă frumoasă sunt toate şirurile de lungime 22 mai puţin cele de forma aa,bb,cc,,zzaa, bb, cc, \dots, zz. Deci sunt 26226=65026^2 - 26 = 650 şiruri 11-frumoase de lungime 22.

Log in or sign up to be able to send submissions!