#include <iostream>
#include <vector>
using namespace std;

struct data
{
	string Bit;
	char KH;
};

struct vector <data> MH;

int n=5;
char arr[8];
int BD=65;
int sinh (int u)
{
	if (u==n+1)
	{
		if (BD>90) return 0;
		struct data tg;
		string a="";
		int kt=0;
		for (int i=1; i<=n; i++)
		{
			a=a+arr[i];
			if (arr[i]=='1')
			{
				kt=1;
			}
		}
		tg.Bit=a;
		if (kt==0)
		{
			tg.KH=' ';
			MH.push_back (tg);
		}
		else
		{
			tg.KH=BD-0;
			MH.push_back (tg);
			BD++;
		}
	}
	else
	{
		for (int i=1; i<=2; i++)
		{
			if (i==1)
			{
				arr[u]='0';
				sinh (u+1);
			}
			else
			{
				arr[u]='1';
				sinh (u+1);
			}
		}
	}
}

int main ()
{
	sinh (1);	//Sinh Ma Hoa: BIT va Ki hieu;
	
	int t;
	cin>>t;
	for (int k=1; k<=t; k++)
	{
		int r, c;
		cin>>r>>c;
		char Matrix[25][25];
		for (int i=1; i<=r; i++)
		{
			for (int j=1; j<=c; j++)
			{
				cin>>Matrix[i][j];
			}
		}
		//Doc dang xoay oc
		int dem=0;
		int hd=1, hc=r;
		int cd=1, cc=c;
		int ic=hd, jc=cd;
		string B="";
		while (1)
		{
			if (dem==r*c) break;
			ic=hd;
			for (int j=cd; j<=cc; j++)
			{
				B+=Matrix[ic][j];
				dem++;
			}
			if (dem==r*c) break;
			hd++;
			jc=cc;
			for (int i=hd; i<=hc; i++)
			{
				B+=Matrix[i][jc];
				dem++;
			}
			if (dem==r*c) break;
			cc--;
			ic=hc;
			for (int j=cc; j>=cd; j--)
			{
				B+=Matrix[ic][j];
				dem++;
			}
			if (dem==r*c) break;
			hc--;
			jc=cd;
			for (int i=hc; i>=hd; i--)
			{
				B+=Matrix[i][jc];
				dem++;
			}
			cd++;
		}
		cout<<k<<" ";
		for (int i=0; i<B.length(); i=i+5)
		{
			string TG="";
			for (int j=i; j<i+5; j++) TG+=B[j];
			for (int j=0; j<MH.size(); j++)
			{
				if (TG==MH[j].Bit)
				{
					cout<<MH[j].KH;
				}
			}
		}
		cout<<endl;
	}
}