"""
给定一个字符串,只包含大写,求在包含同一个字母的子串中,求长度第k长的子串的长度,相同的字母只取最长的那个长度
ABC
1
1
AABBHHHCCCHHHHH
1
4
"""
s = input().strip()
k = int(input().strip())
#统计相同字母子串长度
count = 1
strDict = {}
n = len(s)
if n != 1:
#遍历到倒数第二个
for i in range(n-1):
# 相同字符
if s[i] == s[i+1]:
# 每次count+1后都是统计到了i+1,因为count从1开始的,可以统计相同字符的最后一个
count += 1
else:
# 下个字符与当前字符不同两种情况:1,下个字符是新的字符,2,下个字符之前统计过
# 字典的get方法,可以处理这两个情况,如果之前出现过,返回统计的值,如果没出现过则为0,与当前的count取最大
strDict[s[i]] = max(strDict.get(s[i],0),count)
#新的字符又从1开始,这个时候一定是有下一个的
count = 1
# 处理最后一个字符
if i == n - 2:
# 如果最后一个字符不同,则count = 1;如果相同,则count不为1,然后都可以判断是否之前出现过,如果出项过,返回的值至少是1
strDict[s[i+1]] = max(strDict.get(s[i+1],0),count)
ans = sorted(strDict.items(),key=lambda x:x[1])
if k > len(ans):
print(-1)
else:
print(ans[-k][1])
else:
if k == 1:
print(1)
else:
print(-1)