#include"stdio.h"
#include"string.h"
int map[111][111][3];
int n,m;
void fun(int x,int y)
{
int i,j;
int t;
t=0;
for(i=x+1;i<n;i++)
{
if(map[i][y][0]==1)
{
t+=map[i][y][1];
}
else break;
}
map[x][y][1]=t;
t=0;
for(j=y+1;j<m;j++)
{
if(map[x][j][0]==1)
{
t+=map[x][j][2];
}
else break;
}
map[x][y][2]=t;
}
int main()
{
int t;
int i,j,k;
char s[250];
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
memset(map,0,sizeof(map));
getchar();
for(i=0;i<n;i++)
{
gets(s);
j=0;
for(k=0;s[k];k++)
{
if(s[k]==' ')continue;
else if(s[k]=='_')
{
map[i][j][0]=0;
map[i][j][1]=map[i][j][2]=0;
j++;
}
else
{
map[i][j][0]=1;
map[i][j][1]=map[i][j][2]=s[k]-'0';
j++;
}
}
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(map[i][j][0]==0)fun(i,j);
}
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(map[i][j][0]==0)
{
if(map[i][j][1]==0&&map[i][j][2]==0)
printf("XXXXXXX");
else if(map[i][j][1]==0&&map[i][j][2]!=0)
{
printf("XXX\\%03d",map[i][j][2]);
}
else if(map[i][j][1]!=0&&map[i][j][2]==0)
{
printf("%03d\\XXX",map[i][j][1]);
}
else
{
printf("%03d\\%03d",map[i][j][1],map[i][j][2]);
}
}
else if(map[i][j][0]==1)
{
printf(".......");
}
if(j!=m-1)printf(" ");
}
printf("\n");
}
printf("\n");
}
return 0;
}