#include <bits/stdc++.h>
#define ll long long 
using namespace std;
const int maxn=2e3+10;
char s[maxn][maxn];
int a[maxn][maxn];
int n;
int li[maxn],ri[maxn];
int cal(int x)
{
	int ans=0;
	memset(li,0,sizeof li),memset(ri,0,sizeof ri);
	for(int i=1;i<=n;i++)
	{
		int l=n+1,r=0;
		for(int j=1;j<=n;j++) 
		{
			if(a[i][j]==x) 
			{
				l=min(j,l);
				r=max(r,j);
				ans=max(ans,(r-l)*max(i-1,n-i));
				li[i]=1;
			}
		}
	}
	for(int i=1;i<=n;i++)
	{
		int l=n+1,r=0;
		for(int j=1;j<=n;j++) 
		{
			if(a[j][i]==x) 
			{
				l=min(j,l);
				r=max(r,j);
				ans=max(ans,(r-l)*max(i-1,n-i));
				ri[i]=1;
			}
		}
	}
	int u=1,d=n,le=1,rig=n;
	while(!li[u]&&u<=n) u++;
	while(!li[d]&&d>=1) d--;
	while(!ri[le]&&le<=n) le++;
	while(!ri[rig]&&rig>=1) rig--;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++) 
		{
			if(a[i][j]==x)
			{
				if(d)
				{
					ans=max(ans,max(j-1,n-j)*max(abs(d-i),abs(u-i)));
				}
				if(rig)
				{
					ans=max(ans,max(i-1,n-i)*max(abs(rig-j),abs(le-j)));
				}
			}
		}
	}
	return ans;
}
void solve()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++) scanf("%s",s[i]+1);
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++) a[i][j]=s[i][j]-'0';
	}
	for(int i=0;i<=9;i++)
	{
		printf("%d%c",cal(i),i==9?'\n':' ');
	}
}
int main()
{
	int T=1;
	scanf("%d",&T);
	while(T--) solve();
	return 0;
}
		   	   	 			 					 	 	   	