#include<iostream>
#include<cstring>
#include<string>
using namespace std;
int n,k,sum,js;
char p[505];
string s;
int check(string s),find(string s);
int find(string s){
for(int i=0;i<=n-1;i++){
if(s[i]=='?'){
s[i]='(';find(s);
s[i]='*';find(s);
s[i]=')';find(s);
s[i]='?';return 0;
}
}
//string ts=s;
sum+=check(s);
//if(check(s)){
// js++;
// cout<<ts<<" :"<<js<<'\n';
//}
}
int check(string s){
for(int i=0;i<=n-1;i++){
if(s[i]=='?') return 0;
}
while(1){
bool c=0;
for(int i=0;i<=n-1;i++){
if(s[i]!='0'){
c=1;break;
}
}
if(c){
bool d=1;
for(int i=0;i<=n-1;i++){
if(s[i]==')'){
int q=i-k-1;
for(int j=i-1;j>=q;j--){
if(s[j]=='0') q--;
if(s[j]=='('){
if(s[j-1]=='*'&&s[i+1]=='*'&&s[i+2]!='*'&&s[i-2]!='*'&&s[i+2]!='('&&s[i-2]!=')') return 0;
d=0;
for(j;j<=i;j++){
s[j]='0';
}
break;
}
}
break;
}
if(s[i]=='*'&&s[i-1]=='0'){
for(int j=i;j<=i+k;j++){
if(s[j]!='*'&&s[j]!='0') break;
if(s[j]=='0'){
int q=j;
d=0;
for(int j=i;j<=q-1;j++){
s[j]='0';
}
break;
}
}
}
}
if(d) return 0;
}
else return 1;
}
}
int main(){
//freopen("d:/桌面/bracket3.in","r",stdin);
cin>>n>>k>>s;
find(s);
cout<<sum;
return 0;
}