#include <bits/stdc++.h>
using namespace std;
template <class T>
int size(const T& x) {
  return x.size();
}
const int INF_INT = numeric_limits<int>::max();
bool IsPrime(int n) {
  if (n <= 1) return false;
  if (n == 2) return true;
  for (int i = 2; i * i <= n; i++)
    if (n % i == 0) return false;
  return true;
}
void BPrimeSquare(std::istream& in, std::ostream& out) {
  int n;
  in >> n;
  int n1 = n;
  while (IsPrime(n1)) n1++;
  int n2 = 1;
  while (IsPrime(n2) || !IsPrime(n1 * (n - 1) + n2)) n2++;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      if (i == j)
        out << n2 << " ";
      else
        out << n1 << " ";
    }
    out << endl;
  }
}
struct Solver {
  void solve(std::istream& in, std::ostream& out) {
    return BPrimeSquare(in, out);
  }
};
int main() {
  std::ios_base::sync_with_stdio(false), std::cin.tie(NULL),
      std::cout.tie(NULL);
  Solver solver;
  std::istream& in(std::cin);
  std::ostream& out(std::cout);
  int n;
  in >> n;
  for (int i = 0; i < n; ++i) {
    solver.solve(in, out);
  }
  return 0;
}
