10948. Робот
Студенти одного з вишів спроектували робота для часткової автоматизації процесу збирання авіаційного двигуна.
У процесі збирання двигуна можуть зустрічатися операції 26 типів, які позначаються малими літерами латинського алфавіту. Процес збирання складається з \(N\) операцій.
Передбачається використовувати робота один раз для виконання частини послідовних операцій з процесу складання. Пам'ять робота складається з \(K\)-комірок, кожна з яких містить одну операцію. Операції виконуються послідовно, починаючи з першої, у тому порядку, в якому вони розташовані в пам'яті. Виконавши останню із них, робот продовжує роботу з першою. Роботу можна зупинити після будь-якої операції. Використання робота економічно доцільно, якщо він виконає хоча б \(K+1\) операцію.
Потрібно написати програму, яка за заданим процесом збирання визначить кількість економічно доцільних способів використання робота.
Формат вхідних даних
У першому рядку вхідного файлу записано число \(K > 0\) - кількість операцій, які можна записати в пам'ять робота.
Другий рядок складається з \(N > K\) малих латинських букв, що позначають операції - процес складання двигуна. Операції одного і того ж типу позначаються однієї буквою.
Формат вихідних даних
Вихідний файл повинен містити єдине ціле число - кількість економічно доцільних способів використання робота.
Приклад вхідних даних
2
zabacabab
Приклад вихідних даних
5
Приклад вхідних даних
2
abc
Приклад вихідних даних
0
Коментарі