//by dp王子
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mem(x) memset(x,0,sizeof(x))
//const ll inf=1000000000000000000;
const int N=100001;
int n,m,T;
inline int read()
{
char C=getchar();
int F=1,ANS=0;
while (C<'0'||C>'9')
{
if (C=='-') F=-1;
C=getchar();
}
while (C>='0'&&C<='9')
{
ANS=ANS*10+C-'0';
C=getchar();
}
return F*ANS;
}
char a[505][505];
void work()
{
n=read(),m=read();
for (int i=1;i<=n;i++)
{
for (int j=1;j<=m;j++) cin >> a[i][j];
}
int u=0;
if (n%3==0) u=1;
for (int i=1;i<=n;i++)
{
if (i%3==u%3) continue;
bool flag=0;
for (int j=1;j<=m;j++)
{
if (i%3==(u+1)%3) a[i][j]='X';
else
{
if (i!=n&&(a[i][j]=='X'||a[i+1][j]=='X')&&flag==0)
{
flag=1;
a[i][j]='X',a[i+1][j]='X';
}
}
}
if (i%3==(u+2)%3&&flag==0)
{
a[i][1]=a[i+1][1]='X';
}
}
return;
}
int main()
{
T=read();
while (T--)
{
work();
for (int i=1;i<=n;i++)
{
for (int j=1;j<=m;j++)
{
cout << a[i][j] ;
}
cout << endl;
}
}
return 0;
}