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)
'''