#include <bits/stdc++.h>
using namespace std;
#define int long long
#define ll long long
#define pii pair<ll,ll>
#define vi vector<ll>
#define vb vector<bool>
#define vvi vector<vi>
#define vpii vector<pii>
#define vvpii vector<vpii>
#define F first
#define S second
#define pb push_back
#define all(v) v.begin(),v.end()
#define fr(i, begin, end) for (__typeof(begin) i = (begin); i != (end) + ((begin) > (end) ? -1 : 1); (begin) > (end) ? i-- : i++)
#define rep(i,n) for(ll i=0; i<n; i++)
#define ret(msg) {cout << msg << endl; return;}
#define prt(a) cout << a << endl;
#define prt1(a) cout << a << " ";
#define prt2(a,b) cout << a << " " << b << endl;
#define popcnt(x) __builtin_popcountll(x)
#define uniq(s) s.erase(unique(s.begin(),s.end()),s.end())
#define mod 1000000007
#define MOD 998244353
#define double long double
void solve(){
ll n, m;
cin >> n >> m;
vector<string> v(n);
rep(i, n)cin >> v[i];
bool rot = false;
if(n > m){
vector<string> v1(m);
rep(j, m){
string tmp = "";
rep(i, n){
tmp.pb(v[i][j]);
}
v1[j] = tmp;
}
v = v1;
rot = true;
swap(n, m);
}
vvi ans(n, vi(m, 1e9));
for(int i = 0; i < n; i++)
{
vvi tmp(n, vi(m, 1e9));
for(ll j = n - 1; j > i; j--)
{
ll col = -1;
for(ll k = 0; k < m; k++)
{
if(v[i][k] == '1' && v[j][k] == '1')
{
if(col == -1)
{
col = k;
}
else
{
ll area = (j - i + 1)*(k - col + 1);
for(ll k1 = col; k1 <= k; k1++)
{
tmp[j][k1] = min(tmp[j][k1], area);
// cols[k1].pb({i, j, area});
}
col = k;
}
}
}
}
for(ll j = n - 1; j >= i; j--)
{
for(ll k = 0; k < m; k++)
{
if(j + 1 < n) tmp[j][k] = min(tmp[j][k], tmp[j + 1][k]);
ans[j][k] = min(ans[j][k], tmp[j][k]);
}
}
}
// vvi dp(n, vi(n, 1e9));
// rep(i, m){
// for(auto a : cols[i]){
// dp[a[0]][a[1]] = min(dp[a[0]][a[1]], a[2]);
// }
// // rep(j, n){
// // rep(k, n)prt1(dp[j][k]);
// // cout << endl;
// // }
// for(ll len = n; len >= 1; len--){
// for(ll j = 0; j + len - 1 < n;j++){
// if(j > 0)dp[j][j + len - 1] = min(dp[j][j + len - 1], dp[j - 1][j + len - 1]);
// if(j + len - 1 < n - 1)dp[j][j + len - 1] = min(dp[j][j + len - 1], dp[j][j + len]);
// }
// }
// rep(j, n)ans[j][i] = dp[j][j];
// rep(j, n)rep(k, n)dp[j][k] = 1e9;
// }
if(rot){
rep(j, m){
rep(i, n)cout << (ans[i][j] == 1e9 ? 0 : ans[i][j]) << " ";
cout << endl;
}
return;
}
rep(i, n){
rep(j, m)cout << (ans[i][j] == 1e9 ? 0 : ans[i][j]) << " ";
cout << endl;
}
}
int32_t main() {
//doo();
// SOE(N);
// SOE1(N);
// pre();
ios_base::sync_with_stdio(false); cin.tie(NULL);
int t=1;
cin >> t;
// if(t == 2955){
// while(t--){
// ll n, m, k;
// cin >> n >> m >> k;
// if(t == 2955 - 37)cout << n << " " << m << " " << k << endl;
// }
// }else{
while(t--) {
solve();
}
// }
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIHBpaSBwYWlyPGxsLGxsPgojZGVmaW5lIHZpIHZlY3RvcjxsbD4KI2RlZmluZSB2YiB2ZWN0b3I8Ym9vbD4KI2RlZmluZSB2dmkgdmVjdG9yPHZpPgojZGVmaW5lIHZwaWkgdmVjdG9yPHBpaT4KI2RlZmluZSB2dnBpaSB2ZWN0b3I8dnBpaT4KI2RlZmluZSBGIGZpcnN0CiNkZWZpbmUgUyBzZWNvbmQKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBhbGwodikgdi5iZWdpbigpLHYuZW5kKCkKI2RlZmluZSBmcihpLCBiZWdpbiwgZW5kKSBmb3IgKF9fdHlwZW9mKGJlZ2luKSBpID0gKGJlZ2luKTsgaSAhPSAoZW5kKSArICgoYmVnaW4pID4gKGVuZCkgPyAtMSA6IDEpOyAoYmVnaW4pID4gKGVuZCkgPyBpLS0gOiBpKyspCiNkZWZpbmUgcmVwKGksbikgZm9yKGxsIGk9MDsgaTxuOyBpKyspCiNkZWZpbmUgcmV0KG1zZykge2NvdXQgPDwgbXNnIDw8IGVuZGw7IHJldHVybjt9CiNkZWZpbmUgcHJ0KGEpIGNvdXQgPDwgYSA8PCBlbmRsOwojZGVmaW5lIHBydDEoYSkgY291dCA8PCBhIDw8ICIgIjsKI2RlZmluZSBwcnQyKGEsYikgY291dCA8PCBhIDw8ICIgIiA8PCBiIDw8IGVuZGw7CiNkZWZpbmUgcG9wY250KHgpIF9fYnVpbHRpbl9wb3Bjb3VudGxsKHgpCiNkZWZpbmUgdW5pcShzKSBzLmVyYXNlKHVuaXF1ZShzLmJlZ2luKCkscy5lbmQoKSkscy5lbmQoKSkKI2RlZmluZSBtb2QgMTAwMDAwMDAwNwojZGVmaW5lIE1PRCA5OTgyNDQzNTMKI2RlZmluZSBkb3VibGUgbG9uZyBkb3VibGUKCnZvaWQgc29sdmUoKXsKICAgIGxsIG4sIG07CiAgICBjaW4gPj4gbiA+PiBtOwogICAgdmVjdG9yPHN0cmluZz4gdihuKTsKICAgIHJlcChpLCBuKWNpbiA+PiB2W2ldOwogICAgYm9vbCByb3QgPSBmYWxzZTsKICAgIGlmKG4gPiBtKXsKICAgICAgICB2ZWN0b3I8c3RyaW5nPiB2MShtKTsKICAgICAgICByZXAoaiwgbSl7CiAgICAgICAgICAgIHN0cmluZyB0bXAgPSAiIjsKICAgICAgICAgICAgcmVwKGksIG4pewogICAgICAgICAgICAgICAgdG1wLnBiKHZbaV1bal0pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHYxW2pdID0gdG1wOwogICAgICAgIH0KICAgICAgICB2ID0gdjE7CiAgICAgICAgcm90ID0gdHJ1ZTsKICAgICAgICBzd2FwKG4sIG0pOwogICAgfQogICAgdnZpIGFucyhuLCB2aShtLCAxZTkpKTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICB7CiAgICAgICAgdnZpIHRtcChuLCB2aShtLCAxZTkpKTsKCiAgICAgICAgZm9yKGxsIGogPSBuIC0gMTsgaiA+IGk7IGotLSkKICAgICAgICB7CiAgICAgICAgICAgIGxsIGNvbCA9IC0xOwogICAgICAgICAgICBmb3IobGwgayA9IDA7IGsgPCBtOyBrKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKHZbaV1ba10gPT0gJzEnICYmIHZbal1ba10gPT0gJzEnKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGlmKGNvbCA9PSAtMSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbCA9IGs7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGxsIGFyZWEgPSAoaiAtIGkgKyAxKSooayAtIGNvbCArIDEpOwogICAgICAgICAgICAgICAgICAgICAgICBmb3IobGwgazEgPSBjb2w7IGsxIDw9IGs7IGsxKyspCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcFtqXVtrMV0gPSBtaW4odG1wW2pdW2sxXSwgYXJlYSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb2xzW2sxXS5wYih7aSwgaiwgYXJlYX0pOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbCA9IGs7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgIH0KCiAgICAgICAgZm9yKGxsIGogPSBuIC0gMTsgaiA+PSBpOyBqLS0pCiAgICAgICAgewogICAgICAgICAgICBmb3IobGwgayA9IDA7IGsgPCBtOyBrKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKGogKyAxIDwgbikgdG1wW2pdW2tdID0gbWluKHRtcFtqXVtrXSwgdG1wW2ogKyAxXVtrXSk7CiAgICAgICAgICAgICAgICBhbnNbal1ba10gPSBtaW4oYW5zW2pdW2tdLCB0bXBbal1ba10pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgIH0KICAgIC8vIHZ2aSBkcChuLCB2aShuLCAxZTkpKTsKICAgIC8vIHJlcChpLCBtKXsKICAgIC8vICAgICBmb3IoYXV0byBhIDogY29sc1tpXSl7CiAgICAvLyAgICAgICAgIGRwW2FbMF1dW2FbMV1dID0gbWluKGRwW2FbMF1dW2FbMV1dLCBhWzJdKTsKICAgIC8vICAgICB9CiAgICAvLyAgICAgLy8gcmVwKGosIG4pewogICAgLy8gICAgIC8vICAgICByZXAoaywgbilwcnQxKGRwW2pdW2tdKTsKICAgIC8vICAgICAvLyAgICAgY291dCA8PCBlbmRsOwogICAgLy8gICAgIC8vIH0KICAgIC8vICAgICBmb3IobGwgbGVuID0gbjsgbGVuID49IDE7IGxlbi0tKXsKICAgIC8vICAgICAgICAgZm9yKGxsIGogPSAwOyBqICsgbGVuIC0gMSA8IG47aisrKXsKICAgIC8vICAgICAgICAgICAgIGlmKGogPiAwKWRwW2pdW2ogKyBsZW4gLSAxXSA9IG1pbihkcFtqXVtqICsgbGVuIC0gMV0sIGRwW2ogLSAxXVtqICsgbGVuIC0gMV0pOwogICAgLy8gICAgICAgICAgICAgaWYoaiArIGxlbiAtIDEgPCBuIC0gMSlkcFtqXVtqICsgbGVuIC0gMV0gPSBtaW4oZHBbal1baiArIGxlbiAtIDFdLCBkcFtqXVtqICsgbGVuXSk7CiAgICAvLyAgICAgICAgIH0KICAgIC8vICAgICB9CiAgICAvLyAgICAgcmVwKGosIG4pYW5zW2pdW2ldID0gZHBbal1bal07CiAgICAvLyAgICAgcmVwKGosIG4pcmVwKGssIG4pZHBbal1ba10gPSAxZTk7CiAgICAvLyB9CiAgICBpZihyb3QpewogICAgICAgIHJlcChqLCBtKXsKICAgICAgICAgICAgcmVwKGksIG4pY291dCA8PCAoYW5zW2ldW2pdID09IDFlOSA/IDAgOiBhbnNbaV1bal0pIDw8ICIgIjsKICAgICAgICAgICAgY291dCA8PCBlbmRsOwogICAgICAgIH0KICAgICAgICByZXR1cm47CiAgICB9CiAgICByZXAoaSwgbil7CiAgICAgICAgcmVwKGosIG0pY291dCA8PCAoYW5zW2ldW2pdID09IDFlOSA/IDAgOiBhbnNbaV1bal0pIDw8ICIgIjsKICAgICAgICBjb3V0IDw8IGVuZGw7CiAgICB9Cn0KCmludDMyX3QgbWFpbigpIHsKICAgIC8vZG9vKCk7CiAgICAvLyBTT0UoTik7CiAgICAvLyBTT0UxKE4pOwogICAgLy8gcHJlKCk7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgY2luLnRpZShOVUxMKTsKICAgIGludCB0PTE7CiAgICBjaW4gPj4gdDsKICAgIC8vIGlmKHQgPT0gMjk1NSl7CiAgICAvLyAgICAgd2hpbGUodC0tKXsKICAgIC8vICAgICAgICAgbGwgbiwgbSwgazsKICAgIC8vICAgICAgICAgY2luID4+IG4gPj4gbSA+PiBrOwogICAgLy8gICAgICAgICBpZih0ID09IDI5NTUgLSAzNyljb3V0IDw8IG4gPDwgIiAiIDw8IG0gPDwgIiAiIDw8IGsgPDwgZW5kbDsKICAgIC8vICAgICB9CiAgICAvLyB9ZWxzZXsKICAgIHdoaWxlKHQtLSkgewogICAgICAgIHNvbHZlKCk7CiAgICB9CiAgICAvLyB9Cn0=