#include  "bits/stdc++.h"
using namespace std;
#define         int                 long long
#define         pb                  push_back
#define         si                  set<int>
#define         vi                  vector<int>
#define         mod                 1000000007
#define         sz(x)               (int)((x).size())
#define         all(x)              (x).begin(),(x).end()
#define         FOR(i,a,b)          for(int i=a;i<b;i++)
#define         INF                 1000000000000000000
#define         endl                "\n"

template<typename T,typename T1>T amax(T &a,T1 b){if(b>a)a=b;return a;}
template<typename T,typename T1>T amin(T &a,T1 b){if(b<a)a=b;return a;}

void SOLVE()
{
	int n;
	cin>>n;
	if(n%2){
		int r= n/2;
		for(int i=n-1;i>=r;i--){
			FOR(j,0,r){
				cout<<1<<" ";
			}
			FOR(j,0,i-r){
				cout<<-1<<" ";
			}
		}
		int sum= (r*(r-1))/2;
		FOR(i,0,sum){
			cout<<1<<" ";
		}
		cout<<endl;
	}
	else{
		int A[105][105];
		FOR(i,0,105){
			FOR(j,0,105){
				A[i][j]=10;
			}
		}
		int i=n-1,j=1;
		int cnt=0;
		while(1){
			A[i][j]=0;
			i--;
			j++;
			cnt++;
			if(cnt==n/2){break;}
		}
		
		for(int i=1;i<n-1;i++){
			if(i%2){
				int r=i,c=1;
				while(r>=1 && c<=n){
					A[r][c]=-1;
					r--;
					c++;
				}
			}
			else{
				int r=i,c=1;
				while(r>=1 && c<=n){
					A[r][c]=1;
					r--;
					c++;
				}
			}
		}
		for(int j=2;j<=n-1;j++){
			if(j%2==0){
				int r= n-1,c=j;
				while(r>=1 && c<=n){
					A[r][c]=-1;
					r--;
					c++;
				}
			}
			else{
				int r= n-1,c=j;
				while(r>=1 && c<=n){
					A[r][c]=1;
					r--;
					c++;
				}
			}
		}
		cnt=1;
		while(cnt<=n-1){
			for(int i=cnt;i<=n-1;i++){
				cout<<A[i][cnt]<<" ";
			}
			cnt++;
		}
		cout<<endl;
	}
}
signed main()
{
	ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	int TC =1;
	cin>>TC;
	while(TC--){SOLVE();}
	return 0;
}
