#pragma GCC optimize(3)
#include<bits/stdc++.h>
using namespace std;
const int mo=1000000007;
int n,m;
char a[550];
long long f[550][550][10];
void in(int &x){
int nt;
x=0;
while(!isdigit(nt=getchar()));
x=nt^'0';
while(isdigit(nt=getchar())){
x=(x<<3)+(x<<1)+(nt^'0');
}
}
int main(){
register int i,j,l,k;
in(n),in(m);
for(i=1;i<=n;++i){
a[i]=getchar();
}
for(i=1;i<=n;++i){
f[i][i-1][0]=1;
}
for(l=1;l<=n;++l){
for(i=1;i<=n-l+1;++i){
j=i+l-1;
if(l<=m){