#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define debug(x) cout<<x<<"DE\n";
#define debug2(x,y) cout<<x<<" "<<y<<"DE\n";
ll n,m,l1[200][200];
map<pair<ll,ll>,ll>visited;
ll direction2[4][2]={{1,0},{0,1},{0,-1},{-1,0}};
bool valid(int a,int b)
{
if(a>=1&&a<=n&&b>=1&&b<=m)return true;
else return false;
}
ll bfs(ll sx,ll sy)
{
for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)visited[{i,j}]=0;
queue<pair<ll,ll>>Q;
Q.push({sx,sy});ll cnt=0;
visited[{sx,sy}]=1;
while(!Q.empty()){
pair<ll,ll>u=Q.front();
Q.pop();++cnt;
for(int i=0;i<4;i++){
ll x=direction2[i][0]+u.first;
ll y=direction2[i][1]+u.second;
if(valid(x,y)&&visited[{x,y}]==0){
visited[{x,y}]=1;
if(l1[x][y]==1){return abs(sx-x)+abs(sy-y);}
else Q.push({x,y});
}
}
}
return 1e18;
}
int main()
{
ll t;
scanf("%lld",&t);
while(t--){
scanf("%lld%lld",&n,&m);
string s[n+1];
for(int i=1;i<=n;i++){
cin>>s[i];
for(int j=0;j<m;j++){
l1[i][j+1]=s[i][j]-'0';
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(l1[i][j]){printf("0 ");}
else printf("%lld ",bfs(i,j));
}cout<<endl;
}
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZGVidWcoeCkgY291dDw8eDw8IkRFXG4iOwojZGVmaW5lIGRlYnVnMih4LHkpIGNvdXQ8PHg8PCIgIjw8eTw8IkRFXG4iOwoKbGwgbixtLGwxWzIwMF1bMjAwXTsKbWFwPHBhaXI8bGwsbGw+LGxsPnZpc2l0ZWQ7CmxsIGRpcmVjdGlvbjJbNF1bMl09e3sxLDB9LHswLDF9LHswLC0xfSx7LTEsMH19OwoKYm9vbCB2YWxpZChpbnQgYSxpbnQgYikKewogICAgaWYoYT49MSYmYTw9biYmYj49MSYmYjw9bSlyZXR1cm4gdHJ1ZTsKICAgIGVsc2UgcmV0dXJuIGZhbHNlOwp9CgpsbCBiZnMobGwgc3gsbGwgc3kpCnsKICAgIGZvcihpbnQgaT0xO2k8PW47aSsrKWZvcihpbnQgaj0xO2o8PW07aisrKXZpc2l0ZWRbe2ksan1dPTA7CiAgICBxdWV1ZTxwYWlyPGxsLGxsPj5ROwogICAgUS5wdXNoKHtzeCxzeX0pO2xsIGNudD0wOwogICAgdmlzaXRlZFt7c3gsc3l9XT0xOwogICAgd2hpbGUoIVEuZW1wdHkoKSl7CiAgICAgICAgcGFpcjxsbCxsbD51PVEuZnJvbnQoKTsKICAgICAgICBRLnBvcCgpOysrY250OwogICAgICAgIGZvcihpbnQgaT0wO2k8NDtpKyspewogICAgICAgICAgICBsbCB4PWRpcmVjdGlvbjJbaV1bMF0rdS5maXJzdDsKICAgICAgICAgICAgbGwgeT1kaXJlY3Rpb24yW2ldWzFdK3Uuc2Vjb25kOwogICAgICAgICAgICBpZih2YWxpZCh4LHkpJiZ2aXNpdGVkW3t4LHl9XT09MCl7CiAgICAgICAgICAgICAgICB2aXNpdGVkW3t4LHl9XT0xOwogICAgICAgICAgICAgICAgaWYobDFbeF1beV09PTEpe3JldHVybiBhYnMoc3gteCkrYWJzKHN5LXkpO30KICAgICAgICAgICAgICAgIGVsc2UgUS5wdXNoKHt4LHl9KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAxZTE4Owp9CgppbnQgbWFpbigpCnsKICAgIGxsIHQ7CiAgICBzY2FuZigiJWxsZCIsJnQpOwogICAgd2hpbGUodC0tKXsKICAgICAgICBzY2FuZigiJWxsZCVsbGQiLCZuLCZtKTsKICAgICAgICBzdHJpbmcgc1tuKzFdOwogICAgICAgIGZvcihpbnQgaT0xO2k8PW47aSsrKXsKICAgICAgICAgICAgY2luPj5zW2ldOwogICAgICAgICAgICBmb3IoaW50IGo9MDtqPG07aisrKXsKICAgICAgICAgICAgICAgIGwxW2ldW2orMV09c1tpXVtqXS0nMCc7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZm9yKGludCBpPTE7aTw9bjtpKyspewogICAgICAgICAgICBmb3IoaW50IGo9MTtqPD1tO2orKyl7CiAgICAgICAgICAgICAgICBpZihsMVtpXVtqXSl7cHJpbnRmKCIwICIpO30KICAgICAgICAgICAgICAgIGVsc2UgcHJpbnRmKCIlbGxkICIsYmZzKGksaikpOwogICAgICAgICAgICB9Y291dDw8ZW5kbDsKICAgICAgICB9CiAgICB9Cn0K