#include<bits/stdc++.h>
using namespace std;
#define int long long int
void visit(vector<vector<char>> &v, int i, int j, int r, int c){
if(i<0 || j<0 || i==r || j==c || v[i][j]=='0') return;
v[i][j]='0';
visit(v,i+1,j,r,c);
visit(v,i,j+1,r,c);
visit(v,i-1,j,r,c);
visit(v,i,j-1,r,c);
return;
}
signed main(){
int t; cin>>t;
while(t--){
int r, c; cin>>r>>c;
vector<vector<char>> v(r, vector<char>(c));
for(int i=0; i<r; i++) for(int j=0; j<c; j++) cin>>v[i][j];
int res=0;
for(int i=0; i<r; i++){
for(int j=0; j<c; j++){
if(v[i][j]=='1'){
res++;
visit(v,i,j,r,c);
}
}
}
cout<<res<<endl;
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBpbnQgbG9uZyBsb25nIGludAp2b2lkIHZpc2l0KHZlY3Rvcjx2ZWN0b3I8Y2hhcj4+ICZ2LCBpbnQgaSwgaW50IGosIGludCByLCBpbnQgYyl7CiAgICBpZihpPDAgfHwgajwwIHx8IGk9PXIgfHwgaj09YyB8fCB2W2ldW2pdPT0nMCcpIHJldHVybjsKICAgIHZbaV1bal09JzAnOwogICAgdmlzaXQodixpKzEsaixyLGMpOwogICAgdmlzaXQodixpLGorMSxyLGMpOwogICAgdmlzaXQodixpLTEsaixyLGMpOwogICAgdmlzaXQodixpLGotMSxyLGMpOwogICAgcmV0dXJuOwp9CnNpZ25lZCBtYWluKCl7CiAgICBpbnQgdDsgY2luPj50OwogICAgd2hpbGUodC0tKXsKICAgICAgICBpbnQgciwgYzsgY2luPj5yPj5jOwogICAgICAgIHZlY3Rvcjx2ZWN0b3I8Y2hhcj4+IHYociwgdmVjdG9yPGNoYXI+KGMpKTsKICAgICAgICBmb3IoaW50IGk9MDsgaTxyOyBpKyspIGZvcihpbnQgaj0wOyBqPGM7IGorKykgY2luPj52W2ldW2pdOwogICAgICAgIGludCByZXM9MDsKICAgICAgICBmb3IoaW50IGk9MDsgaTxyOyBpKyspewogICAgICAgICAgICBmb3IoaW50IGo9MDsgajxjOyBqKyspewogICAgICAgICAgICAgICAgaWYodltpXVtqXT09JzEnKXsKICAgICAgICAgICAgICAgICAgICByZXMrKzsKICAgICAgICAgICAgICAgICAgICB2aXNpdCh2LGksaixyLGMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNvdXQ8PHJlczw8ZW5kbDsKICAgIH0KICAgIHJldHVybiAwOwp9