#include <bits/stdc++.h>
#include <cmath>
#include <bitset>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
typedef tree<int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update> pbds;
#define ll long long int
#define lld long double
#define yes cout << "Yes" << endl
#define no cout << "No" << endl
#define gcd(a, b) __gcd(a, b)
#define lcm(a, b) ((a * b) / gcd(a, b))
#define pi acos(-1.00)
void evan(int t)
{
ll n;cin>>n;
ll k;cin>>k;
string s;
cin>>s;
vector<ll>v;
ll cnt=0;
for(int i=0;i<n;i++){
if(s[i]=='1'){
cnt++;
}
else{
if(cnt!=0)v.push_back(cnt);
cnt=0;
}
}
if(cnt!=0)v.push_back(cnt);
if(v.size()==0){
cout<<0<<"\n";return;
}
sort(v.begin(),v.end());
reverse(v.begin(),v.end());
ll ans=0;
n=v.size();
for(int i=0;i<min(k+1,n);i++){
ans+=v[i];
//cout<<v[i]<<" ";
}
cout<<ans<<"\n";
}
signed main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(nullptr);
int t = 1;
cin >> t;
for (int i = 1; i <= t; i++)
{
evan(i);
}
}