func takeCharacters(s string, k int) int {
mp := make(map[rune]int)
mp['a'] = 0
mp['b'] = 0
mp['c'] = 0
for _, x := range s {
mp[x] ++
}
for i, x := range mp {
if x < k {
return -1
}
mp[i] -= k
}
l := 0
ans := 0
for r, x := range s {
mp[x] --
for mp[x] < 0 {
mp[rune(s[l])] ++
l ++
}
ans = max(r - l + 1, ans)
}
return len(s) - ans
}