Hide

Problem C
Cutting Proteins

Languages en sv

Your friend Björn has recently started a large chemistry experiment with the goal of creating a secret protein. All proteins are described with strings of letters from a-z, for example, bcaa and hello. He needs to create several so-called pure proteins. These are proteins consisting of copies of the same letter. To do this, he has microscopic scissors called CRISPR. With these, he can remove up to $K$ adjacent letters. In other words, he can choose an interval with up to $K$ letters to cut out. If a protein is divided into two parts when it is cut, these parts will then be joined together where they were cut.

Since he is very lazy, he wants your help to write a program that calculates the minimum number of times he needs to cut a specific protein to make it pure. Note that the protein must not become an empty string, because in that case it can no longer be used for chemistry.

Input

The first line of input contains a string $P$ ($1 \leq |P| \leq 50$), the protein that Björn wants to make pure. $P$ only consists of characters from a-z.

The next line contains the integer $K$ ($1 \leq K \leq |P|$), the number of characters that Björn can remove in each cut.

Output

Print an integer: the smallest number of cuts Björn needs to make in order to make the protein pure.

Points

Your solution will be tested on several test case groups. To get the points for a group, it must pass all the test cases in the group.

Group

Point value

Constraints

$1$

$20$

$K=1$

$2$

$20$

The protein only consists of the characters a and b.

$3$

$60$

No additional constraints.

Explanation of samples

Sample $1$: one optimal way is to first cut the characters pe. This results in the string exemlfall.
We can then cut away fa, resulting in exemlll.
Finally, we cut away exem and are left with lll, a pure protein.

\includegraphics[width=0.7\textwidth ]{sample2.PNG}
The picture shows the solution to sample 2. If we cut away all b in the way that the picture describes, the protein becomes pure in two cut.

Sample Input 1 Sample Output 1
exempelfall
4
3
Sample Input 2 Sample Output 2
aabbabbba
3
2

Please log in to submit a solution to this problem

Log in