97. Робот

Не решаласьСредняя

Студенты одного из вузов спроектировали робота для частичной автоматизации процесса сборки авиационного двигателя.

В процессе сборки двигателя могут встречаться операции 26 типов, которые обозначаются строчными буквами латинского алфавита. Процесс сборки состоит из N операций.

Предполагается использовать робота один раз для выполнения части подряд идущих операций из процесса сборки.

Память робота состоит из K ячеек, каждая из которых содержит одну операцию. Операции выполняются последовательно, начиная с первой, в том порядке, в котором они расположены в памяти. Выполнив последнюю из них, робот продолжает работу с первой. Робота можно остановить после любой операции. Использование робота экономически целесообразно, если он выполнит хотя бы K + 1 операцию.

Требуется написать программу, которая по заданному процессу сборки определит количество экономически целесообразных способов использования робота.

Формат ввода

В первой строке входного файла записано число $0 \le K  \le 200000$ — количество операций, которые можно записать в память робота.

Вторая строка состоит из N  $\gt$  K строчных латинских букв, обозначающих операции — процесс сборки двигателя. Операции одного и того же типа обозначаются одной и той же буквой. $N \le 200000$

Формат вывода

Выходной файл должен содержать единственное целое число — количество экономически целесообразных способов использования робота.

Примечание

В первом примере количество целосообразных запусков - 5.

Приведём все примеры подстрок, которые являются целесообразными запусками:

zabacabab

zabacabab

zabacabab

zabacabab

zabacabab

Во втором примере количество целесообразных запусков - 0.

Ограничения

Ограничение времени

4 с

Ограничение памяти

64 МБ

Пример 1

Ввод
2
zabacabab
Вывод
5

Пример 2

Ввод
2
abc
Вывод
0

Теги

Нужно войти, чтобы отправить решение.Войти