#include using namespace std; void solve(){ int n; cin >> n; vector c((n - 1) * (n - 1)); for(auto &&v : c) cin >> v; vector> A(n, vector(n)); sort(c.begin(), c.end()); A[n - 2][n - 2] = c[0] / 4 + (0 < c[0] % 4); A[n - 2][n - 1] = c[0] / 4 + (1 < c[0] % 4); A[n - 1][n - 2] = c[0] / 4 + (2 < c[0] % 4); A[n - 1][n - 1] = c[0] / 4; int cur = 1; for(int y = n - 2; y >= 0; y--){ for(int x = n - 2; x >= 0; x--){ if(y == n - 2 && x == n - 2) continue; int sv = 0; for(int dy = 0; dy < 2; dy++){ for(int dx = 0; dx < 2; dx++){ sv += A[y + dy][x + dx]; } } if(x == n - 2){ sv = c[cur++] - sv; A[y][x] = sv / 2; A[y][x + 1] = sv / 2 + (sv & 1); }else{ A[y][x] = c[cur++] - sv; } } } for(int y = 0; y < n; y++){ for(int x = 0; x < n; x++){ cout << A[y][x] << (x + 1 == n ? '\n' : ' '); } } } int main(){ ios::sync_with_stdio(false); cin.tie(0); int T; cin >> T; while(T--) solve(); }