#include<algorithm>
#include<iostream>
#include<vector>
#include<string>
#define pb push_back
#define ll long long
#define loop(i,start,end) for(ll i=start;i<end;i++)
using namespace std;
int main()
{
ll t,n,m;
string str;
cin>>t;
while(t--)
{
vector<int>X;
vector<int>Y;
int bit;
cin>>n>>m;
loop(i,0,n)
{
cin>>str;
loop(j,0,m)
{
if(str[j]=='1')
{
X.pb(j);
Y.pb(i);
}
}
}
ll count[n+m]={0};
loop(j,0,X.size())
{
loop(k,j+1,X.size())
{
ll i=abs(X[j]-X[k])+abs(Y[j]-Y[k]);
count[i]+=1;
}
}
loop(i,1,n+m-1)
{
cout<<count[i]<<" ";
}
cout<<endl;
}
return 0;
}
I2luY2x1ZGU8YWxnb3JpdGhtPgojaW5jbHVkZTxpb3N0cmVhbT4KI2luY2x1ZGU8dmVjdG9yPgojaW5jbHVkZTxzdHJpbmc+CiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgbG9vcChpLHN0YXJ0LGVuZCkgZm9yKGxsIGk9c3RhcnQ7aTxlbmQ7aSsrKQp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbWFpbigpCnsKICAgIGxsIHQsbixtOwogICAgc3RyaW5nIHN0cjsKICAgIGNpbj4+dDsKICAgIHdoaWxlKHQtLSkKICAgIHsKICAgICAgICB2ZWN0b3I8aW50Plg7CiAgICAgICAgdmVjdG9yPGludD5ZOwogICAgICAgIGludCBiaXQ7CiAgICAgICAgY2luPj5uPj5tOwogICAgICAgIGxvb3AoaSwwLG4pCiAgICAgICAgewogICAgICAgICAgICBjaW4+PnN0cjsKICAgICAgICAgICAgbG9vcChqLDAsbSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYoc3RyW2pdPT0nMScpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgWC5wYihqKTsKICAgICAgICAgICAgICAgICAgICBZLnBiKGkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGxsIGNvdW50W24rbV09ezB9OwogICAgICAgICAgICBsb29wKGosMCxYLnNpemUoKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgbG9vcChrLGorMSxYLnNpemUoKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBsbCBpPWFicyhYW2pdLVhba10pK2FicyhZW2pdLVlba10pOwogICAgICAgICAgICAgICAgICAgIGNvdW50W2ldKz0xOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgCiAgICAgICAgbG9vcChpLDEsbittLTEpCiAgICAgICAgewoKICAgICAgICAgICAgY291dDw8Y291bnRbaV08PCIgIjsKICAgICAgICB9CiAgICAgICAgY291dDw8ZW5kbDsKICAgIH0KICAgIHJldHVybiAwOwp9