#include <iostream>
using namespace std;
int main() {
int t;
cin >> t;
while (t--) {
int a;
cin>>a;
int b=2*a;
char ans[b + 1][b + 1];
int a1=0;
int i=0,j=0;
while(a1<=a)
{
if(a1%2==0)
{
j=0;
if(j==0)
{
ans[i][j]='#';
ans[i][j+1]='#';
ans[i+1][j]='#';
ans[i+1][j+1]='#';
j+=2;
}
if(j>1)
{
while(j<=b)
{
ans[i][j]='#';
ans[i][j+1]='#';
ans[i+1][j]='#';
ans[i+1][j+1]='#';
j+=2;
}
}
a1++;
i+=2;
}
else if(a1%2!=0) {
j=2;
if(j==2)
{
ans[i][j]='#';
ans[i][j+1]='#';
ans[i+1][j]='#';
ans[i+1][j+1]='#';
j+=2;
}
if(j>2)
{
while(j<=b)
{
ans[i][j]='#';
ans[i][j+1]='#';
ans[i+1][j]='#';
ans[i+1][j+1]='#';
j+=2;
}
}
a1++;
i+=2;
}
}
for (int i=0;i<b;i++)
{
for (int j=0;j<b;j++)
{
if (ans[i][j]!='#')
{
ans[i][j]='.';
}
}
}
for (int i=0;i<b;i++)
{
for (int j=0;j<b;j++)
{
cout<<ans[i][j];
}
cout<<endl;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBpbnQgdDsKICAgIGNpbiA+PiB0OwogICAgd2hpbGUgKHQtLSkgewogICAgICAgIGludCBhOwogICAgICAgIGNpbj4+YTsKICAgICAgICBpbnQgYj0yKmE7CiAgICAgICAgY2hhciBhbnNbYiArIDFdW2IgKyAxXTsKICAgICAgICBpbnQgYTE9MDsKICAgICAgICBpbnQgaT0wLGo9MDsKICAgICAgICB3aGlsZShhMTw9YSkKICAgICAgICB7CiAgICAgICAgICAgICAgICBpZihhMSUyPT0wKSAKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBqPTA7CiAgICAgICAgICAgICAgICAgICBpZihqPT0wKQogICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgIGFuc1tpXVtqXT0nIyc7CiAgICAgICAgICAgICAgICAgICAgICAgIGFuc1tpXVtqKzFdPScjJzsKICAgICAgICAgICAgICAgICAgICAgICAgYW5zW2krMV1bal09JyMnOwogICAgICAgICAgICAgICAgICAgICAgICBhbnNbaSsxXVtqKzFdPScjJzsKICAgICAgICAgICAgICAgICAgICAgICAgais9MjsKICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZihqPjEpCiAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgd2hpbGUoajw9YikKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGFuc1tpXVtqXT0nIyc7CiAgICAgICAgICAgICAgICAgICAgICAgIGFuc1tpXVtqKzFdPScjJzsKICAgICAgICAgICAgICAgICAgICAgICAgYW5zW2krMV1bal09JyMnOwogICAgICAgICAgICAgICAgICAgICAgICBhbnNbaSsxXVtqKzFdPScjJzsKICAgICAgICAgICAgICAgICAgICAgICAgais9MjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgYTErKzsKICAgICAgICAgICAgICAgICAgICBpKz0yOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSBpZihhMSUyIT0wKSB7CiAgICAgICAgICAgICAgICAgICAgaj0yOwogICAgICAgICAgICAgICAgICAgIGlmKGo9PTIpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBhbnNbaV1bal09JyMnOwogICAgICAgICAgICAgICAgICAgICAgICBhbnNbaV1baisxXT0nIyc7CiAgICAgICAgICAgICAgICAgICAgICAgIGFuc1tpKzFdW2pdPScjJzsKICAgICAgICAgICAgICAgICAgICAgICAgYW5zW2krMV1baisxXT0nIyc7CiAgICAgICAgICAgICAgICAgICAgICAgIGorPTI7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBpZihqPjIpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHdoaWxlKGo8PWIpIAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgYW5zW2ldW2pdPScjJzsKICAgICAgICAgICAgICAgICAgICAgICAgYW5zW2ldW2orMV09JyMnOwogICAgICAgICAgICAgICAgICAgICAgICBhbnNbaSsxXVtqXT0nIyc7CiAgICAgICAgICAgICAgICAgICAgICAgIGFuc1tpKzFdW2orMV09JyMnOwogICAgICAgICAgICAgICAgICAgICAgICBqKz0yOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgYTErKzsKICAgICAgICAgICAgICAgICAgICBpKz0yOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgCgogICAgICAgIGZvciAoaW50IGk9MDtpPGI7aSsrKSAKICAgICAgICB7CiAgICAgICAgICAgIGZvciAoaW50IGo9MDtqPGI7aisrKSAKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYgKGFuc1tpXVtqXSE9JyMnKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGFuc1tpXVtqXT0nLic7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZvciAoaW50IGk9MDtpPGI7aSsrKQogICAgICAgIHsKICAgICAgICAgICAgZm9yIChpbnQgaj0wO2o8YjtqKyspIAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjb3V0PDxhbnNbaV1bal07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY291dDw8ZW5kbDsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIDA7Cn0=