#include<stdio.h>
#include<stdlib.h>

int main()
{
    int T;
    scanf("%d",&T);
    int i,j;
    while(T--)
    {
        int N,M;
        scanf("%d %d",&N,&M);
        if((N==1 && M>1)|| (M==1 && N>1))
        {
            printf("-1\n");
            continue;
        }
        int **mat=(int**)malloc(N * sizeof(int*));
        for(int i=0;i<N;i++)
        {   
            mat[i]=(int*)malloc(M * sizeof(int));
            for(int j=0;j<M;j++){
                mat[i][j]=0;
            }
        }
            for(j=0;j<M;j++){
                mat[0][j]=1;
                mat[N-1][j]=1
            }
        for(i=1;i<N-1;i++)
            {
                mat[i][0]=1;
                mat[i][M-1]=1;
                int br=2;
                for(j=1;j<M-1 && br<(i+1);j++)
                mat[i][j]=1;
                br++;
            }
    
        for(i=0;i<N;i++){
        for(j=0;j<M;j++){
          printf("%d ",mat[i][j]);
        }
        printf("\n");
        }    
        for(i=0;i<N;i++) free(mat[i]);
        
       free(mat);
    }
    return 0;
}