#include <iostream>

using namespace std;

typedef long long s64;

int matrix[20][20];

void fill(s64 n, s64 x, s64 y, s64 w, s64 h, int xp, int yp, int sign)
{
	if (w<=0 || h<=0) return;
	if (!n) { matrix[yp][xp]=sign; return; }	
	s64 x2=x<n ? 0 : x-n , y2=y<n?0:y-n;
	s64 w1=max(
	min((n-x),w), 0LL),
	h1=max(min(n-y,h),0LL);
	
	fill(n/2,x,y,w1,h1,xp,yp,sign);
	fill(n/2,x2,y,w-w1,h1,xp+w1,yp,sign);
	fill(n/2,x,y2,w1,h-h1,xp,yp+h1,sign);
	fill(n/2,x2,y2,w-w1,h-h1,xp+w1,yp+h1,-sign);
}	

int main()
{
	int N;
	s64 n,x,y,w,h;
	cin >> N;
	while (N--) {		
		cin >> n >> x >> y >> w >> h;
		fill(n/2,x,y,w,h,0,0,1);		
		for(int i=0;i<h;i++) {
			for(int j=0;j<w;j++) {
				if (j) cout << " ";
				cout << matrix[i][j];
			}
			cout << endl;
		}
		cout << endl;
	}
	return 0;
}
