• Time limit: 1.00 s
  • Memory limit: 512 MB

Tehtäväsi on laskea, montako erilaista merkkijonoa leimasimen avulla voidaan muodostaa. Leimasin toimii samalla tavalla kuin kierroksen 2 tehtävässä B, ja jokainen merkkijonon kohta tulee leimata vähintään kerran.

Esimerkiksi kun merkkijonon pituus on 7, leimasimella aba voidaan tuottaa 12 erilaista merkkijonoa: aaaaaba, aaaabaa, aaabaaa, aaababa, aabaaaa, aabaaba, aababaa, abaaaaa, abaaaba, abaabaa, ababaaa, abababa.

Koska erilaisten merkkijonojen määrä saattaa olla suuri, sinun tulee ilmoittaa vastaus modulo 10^9+7.

Syöte

Ensimmäisellä rivillä on kaksi kokonaislukua n ja m: merkkijonon pituus ja leimasimen pituus.

Seuraavalla rivillä on merkkijono, joka kuvaa leimasimen. Voit olettaa, että leimasin muodostuu merkeistä az.

Tuloste

Tulosta yksi kokonaisluku: merkkijonojen määrä modulo 10^9+7.

Esimerkki 1

Syöte:

7 3
aba

Tuloste:

12

Esimerkki 2

Syöte:

20 7
aybabtu

Tuloste:

28651

Osatehtävä 1 (18 pistettä)

  • 1 \le n \le 20
  • 1 \le m \le 10

Osatehtävä 2 (19 pistettä)

  • 1 \le n \le 100
  • 1 \le m \le 50

Osatehtävä 3 (20 pistettä)

  • 1 \le n \le 1000
  • 1 \le m \le 50

Osatehtävä 4 (21 pistettä)

  • 1 \le n \le 10^6
  • 1 \le m \le 50

Osatehtävä 5 (22 pistettä)

  • 1 \le n \le 10^9
  • 1 \le m \le 50