F. Новый год и смена хендла
ограничение по времени на тест
3 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Наступает новый год. Это значит, что на codeforces пришла пора менять хендлы. Мишке захотелось поменять свой хендл, но таким образом, чтобы люди не забыли, кто он такой.

Чтобы все получилось так, как он хочет, он решил менять только регистры букв. Более формально, за одну смену хендла он может выбрать любой отрезок своего хендла $$$[i; i + l - 1]$$$ и сделать tolower или toupper ко всем буквам своего хендла на этом отрезке (более формально, поменять все строчные буквы на отрезке на соответствующие прописные или наоборот). Длина $$$l$$$ фиксирована для всех смен.

Так как на codeforces нельзя слишком часто менять хендлы, всего Мишка может сделать не более $$$k$$$ таких операций. Какого минимального значения может быть $$$min(lower, upper)$$$ (где $$$lower$$$ — количество строчных букв, а $$$upper$$$ — количество прописных букв) после оптимальной последовательности смен?

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

Первая строка входных данных содержит три целых числа $$$n, k$$$ и $$$l$$$ ($$$1 \le n, k, l \le 10^6, l \le n)$$$ — длину хендла Мишки, количество смен и длину отрезка.

Вторая строка входных данных содержит одну строку $$$s$$$, состоящую из $$$n$$$ строчных и прописных букв латинского алфавита — хендл Мишки.

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

Выведите одно целое число — минимальное значение, которого может достигнуть $$$min(lower, upper)$$$ после того, как Мишка сменит свой хендл не более $$$k$$$ раз так, как описано в условии задачи.

Примеры
Входные данные
7 1 4
PikMike
Выходные данные
0
Входные данные
15 2 2
AaAaAAaaAAAAaaA
Выходные данные
2
Входные данные
14 2 6
aBcdEFGHIJklMn
Выходные данные
0
Входные данные
9 2 2
aAaAAAaaA
Выходные данные
1