Module: deux pointeurs


Problem

11 /11


Robot

Problem

Des étudiants de l'une des universités ont conçu un robot pour automatiser partiellement le processus d'assemblage d'un moteur d'avion.
 
Lors du processus d'assemblage du moteur, 26 types d'opérations peuvent se produire, qui sont indiquées par des lettres minuscules de l'alphabet latin. Le processus d'assemblage consiste en N opérations.
 
Il est supposé utiliser le robot une fois pour effectuer une partie des opérations consécutives du processus d'assemblage.
 
La mémoire du robot est constituée de K cellules, chacune contenant une opération. Les opérations sont exécutées séquentiellement, en commençant par la première, dans l'ordre dans lequel elles se trouvent en mémoire. Après avoir terminé le dernier, le robot continue avec le premier. Le robot peut être arrêté après n'importe quelle opération. L'utilisation d'un robot est économiquement viable s'il effectue au moins K + 1 opérations.
 
Vous devez écrire un programme qui, compte tenu du processus d'assemblage, déterminera le nombre de façons économiquement viables d'utiliser le robot.
 
Entrée
La première ligne contient le nombre K > 0 - le nombre d'opérations qui peuvent être écrites dans la mémoire du robot.
La deuxième ligne se compose de N > K lettres latines minuscules indiquant les opérations - le processus d'assemblage du moteur. Les opérations du même type sont désignées par la même lettre (N <= 200000).
 
Sortie
Imprimez un seul entier - le nombre de façons rentables d'utiliser le robot.
 
2
zabacabab
Entrée Sortie
5
2
abc
0