#include <iostream>

using namespace std;

int main()
{
    int n;
    cin >> n;
    int g = n*2;
    int niz[g];
    for(int i=0;i<g;i++){
        cin >> niz[i];}
    int i=n;
    int b=1;
    while(i>0){
        int N=niz[g-1-b];
        int M=niz[g-b];
        int mat[N][M];

        if(N!=M){
            cout << -1;
        }
        if(N==M) {
            for(int x=0;x<N;x++){
                cout << "\n";
                for(int y=0;y<M;y++){



                    if(x==0 || y==0 || x==N-1 || y==M-1){
                        mat[x][y]=1;
                    }
                    else
                        mat[x][y]=0;}}

                    int br=0;
                    for(int k=N-2;k>0;k--){

                        for(int r=2+br;r<M;r++){
                            mat[k][r]=1;
                            br++;
                        }

                    }
                    for(int c=0;c<N;c++){
                        cout << "\n";
                        for(int b=0;b<M;b++){
                            cout << mat[c][b] << " ";
                            }
                    }







        }

        b=b+2;
        i--;
    }

    return 0;
}