#include using namespace std; const int nmax=401; int a[nmax][nmax], n, t; int main() { scanf("%d", &t); while (t--) { scanf("%d", &n); for (int i=1; i<=n; i++) memset(a[i],0, sizeof(int)*(n+1)); for(int i = 1; i <= n / 2; i++) { a[n-i+1][n/2+i+1] = 1; a[i][n/2+2-i] = 1; } a[n/2+1][1] = 1; for(int i = 1; i <= n; i++) for(int j = 1; j <= n; j++) if (a[i][j-1]>0) a[i][j] = a[i][j - 1] + 1; for(int i = 1; i <= n; i++) for (int j=1; j<=n-a[i][n]; j++) a[i][j]=a[i][n]+j; for(int i = 1; i <= n; i++) { for(int j = 1; j < n; j++) printf("%d ", a[i][j]); printf("%d\n", a[i][n]); } } return 0; }