- Описание
- Отправленные решения
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