#include<bits/stdc++.h>
using namespace std;
const int N=110;
char str[N];
int n,m,num;
int pos[N];
int dp[N][N][N],f[N][N][N];
int kcase;
int abs(int x){return x>0?x:-x;}
int dfs(int k,int lp,int tim)
{
if(f[k][lp][tim]==kcase) return dp[k][lp][tim];
if(k>num) return (n-lp>=2);
f[k][lp][tim]=kcase;
int l=max(lp+1,pos[k]-tim);
int r=min(n,pos[k]+tim);
dp[k][lp][tim]=-1e9;
for(int i=l;i<=r;i++)
{
int cost=abs(pos[k]-i);
dp[k][lp][tim]=max(dp[k][lp][tim],dfs(k+1,i,tim-cost)+(i-lp>2)*(k>1));
}
return dp[k][lp][tim];
}
int main()
{
int t;
scanf("%d",&t);
for(kcase=1;kcase<=t;kcase++)
{
scanf("%d%d%s",&n,&m,str+1);
m/=2;
num=0;
for(int i=1;i<=n;i++)
{
if(str[i]=='2'){pos[++num]=i;}
}
if(num==0) {printf("0\n");continue;}
printf("%d\n",dfs(1,0,m));
}
return 0;
}
Girls Love 233