Олимпиадный тренинг

Задача . A. Равенство


Вам дана строка \(s\) длины \(n\), которая содержит только первые \(k\) букв латинского алфавита. Все буквы в строке \(s\) заглавные.

Строка называется подпоследовательностью строки \(s\), если она получается удалением из \(s\) нескольких символов без изменения порядка остальных символов. Например, «ADE» и «BD» являются подпоследовательностями «ABCDE», а «DEA» — нет.

Подпоследовательность \(s\) называется хорошей, если каждая из первых \(k\) букв алфавита встречается одинаковое число раз.

Найдите длину самой длинной хорошей подпоследовательности \(s\).

Входные данные

Первая строка входных данных содержит целые числа \(n\) (\(1\le n \le 10^5\)) и \(k\) (\(1 \le k \le 26\)).

Вторая строка входных данных содержит строку \(s\) длины \(n\). Строка \(s\) содержит только заглавные латинские буквы от 'A' до \(k\)-й буквы латинского алфавита.

Выходные данные

Выведите одно целое число — длину самой длинной хорошей подпоследовательности строки \(s\).

Примечание

В первом примере, подпоследовательность «ACBCAB» («ACAABCCAB») является одной из подпоследовательностей содержащей одинаковое число 'A', 'B' и 'C'. Подпоследовательность «CAB» тоже содержит одинаковое число этих букв, но не является максимальной по длине.

Во втором примере, ни одна из подпоследовательность не может содержать 'D', а значит ответ равен \(0\).


Примеры
Входные данныеВыходные данные
1 9 3
ACAABCCAB
6
2 9 4
ABCABCABC
0

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя