157. 最大化密码复杂度

内存限制:256 MB 时间限制:1.000 S

题目描述

某网站注册时需要输入密码,密码只能包含前 m 个小写字母,牛牛已经想好了自己密码的长度和某些位置的具体字符,现在需要你帮他确定其他位置的字符使得这个密码的复杂度尽可能大。


设一个密码的长度为 len,则这个密码的复杂度等于在前 len - 1 个字符中有多少字符与它后一个字符不同。例如,对于密码 abcc 来说,他的复杂度为 2,因为第一个和第二个位置的字符不同,第二个和第三个位置的字符也不同,而第三个和第四个位置的字符相同。

输入

第一行两个空格分隔的正整数 n,m(1 <= n <= 10^5,1 <= m <= 26)。代表牛牛的密码长度和只能使用前 m 个小写字母。 

第二行一个长度为 n 只包含小写字母的字符串 s,保证只含有前 m 个小写字母和?,?代表需要你来帮忙确定的字符。

输出

输出一个整数,表示密码的最大复杂度。

样例输入 复制

9 26
niuniu???

样例输出 复制

8