#arc140a. [arc140_a]Right String

[arc140_a]Right String

Problem Statement

For a string TT consisting of lowercase English letters, consider the question below, and let f(T)f(T) be the answer.

Find the number of different strings obtained by performing the following operation any number of times: delete the first character from TT and append it to the end.

You are given a string SS of length NN consisting of lowercase English letters. You can perform the operation below at most KK times (possibly zero).

  • Choose a character of SS and change it to any lowercase English letter.

Find the minimum possible value of f(S)f(S) after your operations.

Constraints

  • 1leNle20001 \\le N \\le 2000
  • 0leKleN0 \\le K \\le N
  • SS is a string of length NN consisting of lowercase English letters.
  • NN and KK are integers.

Input

Input is given from Standard Input in the following format:

NN KK SS

Output

Print the answer.


Sample Input 1

4 1
abac

Sample Output 1

2

If you change the fourth character c to b in the first operation, you get S=S= abab, with f(S)=2f(S)=2.

f(S)f(S) cannot be made 11 or less in one or fewer operations, so the answer is 22.


Sample Input 2

10 0
aaaaaaaaaa

Sample Output 2

1

Sample Input 3

6 1
abcaba

Sample Output 3

3