仓鼠与炸弹
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

仓鼠现在在仓鼠通用安保科技公司(Hamster Universial Security Tech, Aka: HUST)工作,这天它接到了一个紧急任务------有人在武汉仓鼠大学(Wuhan Hamster University, Aka: WHU)安放了一枚炸弹!
小仓鼠火速赶到现场,发现现场有一个定时炸弹,炸弹上有一排接口,总计 n 个。每一种接口都有一个颜色。炸弹的旁边,有一根并口线。并口线的两头是一样的,其中一头可以同时接通连续的 m 个接口,也就是如果把并口线的两头同时接在炸弹上,总共可以接通 2m 个接口。
并口线和炸弹的简单示意图:


此外,凶手还留下了一张字条,上面是这么写的:
如果想拆弹,就把并口线的两头全部接在炸弹上,不过必须满足一个要求,否则你会当场上天!两个接头各自联通的那一段长度为 m 的接口,必须是对称的,而且接口不能重叠!嘿嘿嘿,我猜仓鼠的脑容量肯定无法理解我说的话,来,我给你一个例子,如果你的接口大小是2,那么下面这几种接法,除去最后一种都是合法的!



炸弹的背后,是一个密码锁,正确的密码是你接线的方案数。注意:这里的方案数仅仅讨论被接入的接口的位置哦,也就是说如果你只是交换两个接头的位置,并不算两种不同的方案。加油,慢慢尝试吧,总能试出来的呢!
wk 敬上

时间紧迫,快来帮助小仓鼠拆除炸弹吧!

输入描述:

第一行由两个整数 n, ,表示炸弹的接口长度,和并口线的接口宽度 m
第二行一个含有 n 个字符的字符串 s,只包含小写字母,表示炸弹的接口,同一种颜色的接口用同一种字母表示。

输出描述:

一个正整数,表示答案数。
示例1

输入

复制
5 1
abbab

输出

复制
4
示例2

输入

复制
7 2
abbabab

输出

复制
3
示例3

输入

复制
10 2
abababbbab

输出

复制
7

备注:

对于样例一,接头大小为1,所以只要两个接口都选取相同的接口就行。
对于样例二,就是题面描述的情况。
对于样例三,有以下几种接线方式都是合法的: