#include <bits/stdc++.h>
using namespace std;
vector<int64_t> primeN = {2,   3,   5,   7,   11,  13,  17,  19,  23,  29,
                          31,  37,  41,  43,  47,  53,  59,  61,  67,  71,
                          73,  79,  83,  89,  97,  101, 103, 107, 109, 113,
                          127, 131, 137, 139, 149, 151, 157, 163, 167, 173,
                          179, 181, 191, 193, 197, 199};
int32_t main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int64_t n, t = 1;
  cin >> t;
  while (t--) {
    cin >> n;
    auto l = lower_bound(primeN.begin(), primeN.end(), n) - primeN.begin();
    int64_t x = primeN[l] - (n - 1);
    int64_t i = 0;
    while (true) {
      if (binary_search(primeN.begin(), primeN.end(), x)) {
        i++;
        x = primeN[l + i] - (n - 1);
      } else
        break;
    }
    for (int64_t i = 0; i < n; i++) {
      for (int64_t j = 0; j < n; j++) {
        if (i == j)
          cout << x << ' ';
        else
          cout << '1' << ' ';
      }
      cout << '\n';
    }
  }
  return 0;
}
