Almost Rectangle输出矩形*

OHgg 获得了一个大小等于 n \times nn×n 的正方形方阵,方针内有两个单元格被画上了星星,也就是被标记了. 这两个单元格可以在相同的位置(即同行同列).

他需要再给两个单元格画上星星,让这四个带星星的单元格表示为与坐标轴平行的矩形的四个角

例如,如果 n=4n=4 并且这个矩阵看起来是这样的 (用星号标记了两个单元格):

\begin{matrix} . & * & . & . \\ . & . & . & . \\ * & . & . & . \\ . & . & . & . \\ \end{matrix}..∗.​∗...​....​....​

那么他可以这样再多给两个单元格画上星星

\begin{matrix} * & * & . & . \\ . & . & . & . \\ * & * & . & . \\ . & . & . & . \\ \end{matrix}∗.∗.​∗.∗.​....​....​

如果有多个解决方案,输出任意一个都可以。

Input

第一行有一个整数 tt (1 \le t \le 4001≤t≤400). 接下来是 tt 个测试样例.

每个测试用例的第一行包含一个整数 nn (2 \le n \le 4002≤n≤400) — 矩阵的行和列的数量

接下来 nn 行分别包含 nn 个字符 '.' 或者 '*' 表示空单元格和标记单元格.

保证所有测试样例 nn 的和不超过 400400.

保证矩阵上正好有两个星号。它们可以在同一行或同一列.

保证存在解决方案.

Output

对于每个测试样里,输出 nn 行,每行 nn 个字符 — 与输入内容相对应且带有四个星号的矩阵. 如果有多个正确答案输出任意一个即可.

Example

Input

6
4
..*.
....
*...
....
2
*.
.*
2
.*
.*
3
*.*
...
...
5
.....
..*..
.....
.*...
.....
4
....
....
*...
*...

Output

*.*.
....
*.*.
....
**
**
**
**
*.*
*.*
...
.....
.**..
.....
.**..
.....
....
....
**..
**..
#include 
#include 
#define N 999
int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        int n,i,j,count=0,x1,y1,x2,y2;
        scanf("%d",&n);
        char a[n][n];
        for(i=0;i<=n-1;i++)scanf("%s",a[i]);
        for(i=0;i<=n-1;i++)
            for(j=0;j<=n-1;j++)
                if(a[i][j]=='*')
                {
                    count++;
                    if(count==1)x1=i,y1=j;
                    if(count==2)x2=i,y2=j;
                }
        if(y1==y2)
        {
            if(y1==0)a[x1][y1+1]='*',a[x2][y2+1]='*';
            else a[x1][y1-1]='*',a[x2][y2-1]='*';
        }
        else if(x1==x2)
        {
            if(x1==0)a[x1+1][y1]='*',a[x2+1][y2]='*';
            else a[x1-1][y1]='*',a[x2-1][y2]='*';
        }
        else
        a[x1][y2]='*',a[x2][y1]='*';
        for(i=0;i<=n-1;i++)
        {
            for(j=0;j<=n-1;j++)  printf("%c",a[i][j]);
            printf("\n");
        }
    }
    return 0;
}

你可能感兴趣的:(22年寒假培训,蓝桥杯,算法,职场和发展)