using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace Test1 {

    


    class ClassMain {

        static char[,] uzu = new char[0, 0];
        static int uzuL = -1;

        static void goUp(int y, int x) {
            //Console.WriteLine(y + "-" + x);
            if ((x == 0 || uzu[y, x - 1] == ' ')
                && (y == 0 || uzu[y - 1, x] == ' ')
                &&(uzu[y,x+1]==' ')) { uzu[y, x] = '#'; }
            else { return; }

            if (y == 0) { goRight(y, x + 1); }
            else if (y == 1) { goUp(y - 1, x); }
            else if (uzu[y - 2, x] == '#') { goRight(y, x + 1); }
            else { goUp(y - 1, x); }
        }

        static void goRight(int y, int x) {
            //Console.WriteLine(y + "-" + x);
            if ((x == uzuL - 1 || uzu[y, x + 1] == ' ')
                && ( uzu[y + 1, x] == ' ')) { uzu[y, x] = '#'; }
            else { return; }

            if (x == uzuL-1) { goDown(y+1, x ); }
            else if (x == uzuL-2) { goRight(y, x+1); }
            else if (uzu[y, x+2] == '#') { goDown(y+1, x); }
            else { goRight(y , x+1); }
        }

        static void goDown(int y, int x) {
            //Console.WriteLine(y + "-" + x);
            if ((uzu[y, x - 1] == ' ')
                && (y==uzuL-1 || uzu[y + 1, x] == ' ')) { uzu[y, x] = '#'; }
            else { return; }

            if (y == uzuL - 1) { goLeft(y , x-1); }
            else if (y == uzuL - 2) { goDown(y+1, x ); }
            else if (uzu[y+2, x] == '#') { goLeft(y , x-1); }
            else { goDown(y + 1, x); }
        }

        static void goLeft(int y, int x) {
            //Console.WriteLine(y + "-" + x);
            if ((x == 0 || uzu[y, x - 1] == ' ')
                && ( uzu[y - 1, x] == ' ')) { uzu[y, x] = '#'; }
            else { return; }

            if (uzu[y , x-2] == '#') { goUp(y-1, x ); }
            else { goLeft(y , x-1); }
        }


        public static void Main(String[] args) {
            string line;
            while ((line = Console.ReadLine()) != null) {
                int n = int.Parse(line);
                //if (line.Equals("0")) { break; }
                for (int i = 0; i < n; i++) {
                    int k = int.Parse(Console.ReadLine());
                    if (k == 1) { 
                        Console.WriteLine("#");
                        if (i != n - 1) { Console.WriteLine(); }
                        continue;
                    }
                    uzu = new char[k, k];
                    uzuL = k;
                    for (int j = 0; j < k; j++) {
                        for (int x = 0; x < k; x++) {
                            uzu[j, x] = ' ';
                        }
                    }
                    //uzu initiated.
                    goUp(k - 1, 0);

                    for (int j = 0; j < k; j++) {
                        for (int x = 0; x < k; x++) {
                            Console.Write(uzu[j, x]);
                        }
                        Console.WriteLine();
                    }
                    if (i != n - 1) { Console.WriteLine(); }
                }
                break;
            }
        }

        
    }



    
}

Measured memory_bytes: 5520