#include <bits/stdc++.h>
using ll = long long;
using ull = unsigned long long;
using lf = long double;
template <class T>
ll Read(T &num) {
  T x = 0, f = 1;
  char ch = std::getchar();
  while (ch > '9' || ch < '0') {
    if (ch == '-') {
      f = -1;
    }
    ch = std::getchar();
  }
  while (ch >= '0' && ch <= '9') {
    x = x * 10 + ch - '0';
    ch = std::getchar();
  }
  num = x * f;
  return num;
}
template <class T>
T Pow(T a, T b, const T &m) {
  a %= m;
  T res = 1;
  while (b > 0) {
    if (b & 1) {
      res = res * a % m;
    }
    a = a * a % m;
    b >>= 1;
  }
  return res;
}
template <class T>
T Gcd(T a, T b) {
  while (b != 0) {
    T t = a % b;
    a = b;
    b = t;
  }
  return a;
}
template <class T>
std::pair<T, T> ExGcd(T a, const T &b) {
  if (b == 0) {
    return {1, 0};
  }
  std::pair<T, T> temp = ExGcd(b, a % b);
  return {temp.second, temp.first - a / b * temp.second};
}
ll n, T;
bool IsPrime(unsigned long long n) {
  unsigned long long stop = n / 6 + 1, Tstop = sqrt(n) + 5;
  if (n == 2 || n == 3 || n == 5 || n == 7 || n == 11) {
    return 1;
  }
  if (n % 2 == 0 || n % 3 == 0 || n % 5 == 0 || n == 1) {
    return 0;
  }
  for (unsigned long long i = 1; i <= stop; i++) {
    if (i * 6 >= Tstop) {
      break;
    }
    if ((n % (i * 6 + 1) == 0) || (n % (i * 6 + 5) == 0)) {
      return 0;
    }
  }
  return 1;
}
signed main() {
  Read(T);
  while (T--) {
    Read(n);
    if (n == 2) {
      puts("1 1");
      puts("1 1");
    } else if (IsPrime(n)) {
      for (ll i = 1; i <= n; ++i) {
        for (ll j = 1; j <= n; ++j) {
          printf("%lld ", 1LL);
        }
        putchar('\n');
      }
    } else if (n % 2 == 0) {
      for (ll i = 1; i <= n; i += 2) {
        for (ll _ = 1; _ <= 2; ++_) {
          for (ll j = 1; j <= n; ++j) {
            if (j == i || j == i + 1) {
              printf("%lld ", 1LL);
            } else {
              printf("%lld ", 0LL);
            }
          }
          putchar('\n');
        }
      }
    } else {
      for (ll i = 1; i <= n - 1; i += 2) {
        for (ll _ = 1; _ <= 2; ++_) {
          for (ll j = 1; j <= n; ++j) {
            if (j == i || j == i + 1 || (j == n && ((n - i) <= 3))) {
              printf("%lld ", 1LL);
            } else {
              printf("%lld ", 0LL);
            }
          }
          putchar('\n');
        }
      }
      for (ll i = 1; i <= n; ++i) {
        if (i == n || i == n - 1 || i == n - 2) {
          printf("%lld ", 1LL);
        } else {
          printf("%lld ", 0LL);
        }
      }
      putchar('\n');
    }
  }
  return 0;
}
