Робот
Робот рухається по полю, яке складається з N клітинок, що вишикувані у ряд. На кожній з клітинок знаходиться кубик певного кольору.
На початку руху робот знаходиться на першій клітині поля та не тримає жодного кубика. Знаходячись на клітині, робот може виконати не більше одного разу кожну з наступних операцій: (1) покласти кубик того ж кольору, що лежить на поточній клітині; (2) підняти з клітини той кубик, що знаходився там спочатку. Після цього робот переміщується на наступну клітину або зупиняється, якщо поточна клітина є останньою у полі.
Одночасно робот може тримати не більше ніж K кубиків. На момент зупинки робот не повинен тримати жодного кубика.
Напишіть програму, що за інформацією про колір кубиків та обмеження на кількість кубиків, яку може тримати робот, визначає максимальну загальну кількість кубиків, яку робот може перенести з місця на місце, рухаючись полем.
Вхідні дані
Перший рядок містить літерний рядок довжини N (1 ≤ N ≤ 1000). Рядок складається з маленьких літер латинського алфавіту. Кожна літера відповідає клітині поля та визначає колір кубика, що знаходиться у цій клітині. Другий рядок містить обмеження на кількість кубиків, яку одночасно може тримати робот K (1 ≤ K ≤ 25).
Вихідні дані
Вивести одне ціле число - максимальну кількість кубиків, місцезнаходження яких робот може змінити рухаючись полем.