Module: dos punteros


Problem

11 /11


Robot

Problem

Estudiantes de una de las universidades diseñaron un robot para automatizar parcialmente el proceso de ensamblaje de un motor de avión.
 
En el proceso de ensamblaje del motor, pueden ocurrir 26 tipos de operaciones, que se indican con letras minúsculas del alfabeto latino. El proceso de ensamblaje consta de N operaciones.
 
Se supone que debe usar el robot una vez para realizar parte de las operaciones consecutivas del proceso de ensamblaje.
 
La memoria del robot consta de K celdas, cada una de las cuales contiene una operación. Las operaciones se ejecutan secuencialmente, comenzando por la primera, en el orden en que se ubican en la memoria. Después de completar el último, el robot continúa con el primero. El robot se puede detener después de cualquier operación. El uso de un robot es económicamente viable si realiza al menos K + 1 operaciones.
 
Debe escribir un programa que, dado el proceso de ensamblaje, determine la cantidad de formas económicamente viables de usar el robot.
 
Entrada
La primera línea contiene el número K > 0 - el número de operaciones que se pueden escribir en la memoria del robot.
La segunda línea consta de N > K letras latinas en minúsculas que denotan operaciones - proceso de ensamblaje del motor. Las operaciones del mismo tipo se indican con la misma letra (N <= 200000).
 
Salida
Imprima un solo número entero: la cantidad de formas rentables de usar el robot.
  Entrada Salida
2
zabacabab
5 2
abc 0