#include<stdio.h>
#include<string.h>
char map[35][85];
int vis[35][85];
int dx[] = {1, -1, 0, 0}, dy[] = {0, 0, -1, 1};
int k;
int w[35];
void dfs(int x,int y){
vis[x][y]=1;
for(int i = 0;i < 4; i++){
int nx = x + dx[i];
int ny = y + dy[i];
if(nx >= 0 && nx < k && ny >= 0 && ny < w[nx] && vis[nx][ny] ==0 &&map[nx][ny] == ' '){
dfs(nx,ny);
}
}
}//深搜,将所有为' '的地方标记为1。
int main()
{
int n;
scanf("%d", &n);
getchar();
while(n--){
k = 0;
memset(vis,0,sizeof(vis));
while(gets(map[k])){
w[k] = strlen(map[k]);
if(strcmp(map[k],"_____")==0)
break;
k++;
}
for(int i = 0;i < k; i++){
for(int j = 0;j < w[i]; j++){
if(vis[i][j] == 0 && map[i][j] == '*'){
dfs(i,j);
}
}
}
for(int i = 0;i <= k; i++){
for(int j = 0;j < w[i]; j++){
if(vis[i][j] == 1)
printf("#");
else
printf("%c",map[i][j]);
}
printf("\n");
}
}
return 0;
}