n,k=map(int,input().split())#n字符个数,k操作次数
s=input()#导入字符串
up_s=s.upper()#变为大写
coun=0
for i in range(len(s)):
if s[i]==up_s[i]:#计算原有大写字母数
coun+=1
lower=(len(s)-coun)#计算原有小写字母数
if lower-k>=0 :#计算可以转换多少个字母
print(coun+(k))
else:
a=abs(k-lower)%2#绝对值
print(n-a)
'''
n, k = map(int, input().split())
s = input()
# 统计当前大写字母数量
uppercase_now = sum(1 for char in s if char.isupper())
lowercase_now = n - uppercase_now
if k <= lowercase_now:
# k 次操作可以把 k 个小写字母转成大写
result = uppercase_now + k
else:
# 先把所有小写字母转成大写
remaining_ops = k - lowercase_now
if remaining_ops % 2 == 0:
# 剩余偶数次操作,可以相互抵消,保持全大写
result = n
else:
# 剩余奇数次操作,必须有一个字母变成小写
result = n - 1
print(result)
'''