using System;

class HelloWorld 
{
    static void citaj(int n, int m, int[,]x)
    {
        for(int i = 0; i < n; i++)
        {
            string[] s = Console.ReadLine().Split(' ');
            for(int j = 0; j < m; j++)
            {
                x[i,j] = int.Parse(s[j]);
            }
        }
    }
    
    static int maksimum(int r, int m, int[,]x)
    {
        int max = int.MinValue;
        for(int i = 0; i < m; i++)
        {
            if(x[r,i] > max)
            {
                max = x[r,i];
            }
        }
        return max;
    }
    
    static int maksimum_apsolutna(int k, int n, int[,]x)
    {
        int max = int.MinValue;
        for(int i = 0; i < n; i++)
        {
            if(Math.Abs(x[i,k]) > max)
            {
                max = Math.Abs(x[i,k]);
            }
        }
        return max;
    }
    
    static void pisi(int n, int m, int[,]x)
    {
        for(int i = 0; i < n; i++)
        {
            for(int j = 0; j < m; j++)
            {
                Console.Write(x[i,j] + " ");
            }
            Console.WriteLine();
        }
    }
    
    static void Main() 
    {
        int t = int.Parse(Console.ReadLine());
        for(int k = 0; k < t; k++)
        {
            string[] s1 = Console.ReadLine().Split(' ');
            int n = int.Parse(s1[0]);
            int m = int.Parse(s1[1]);
            int[,] x1 = new int[n,m];
            int[,] x2 = new int[n,m];
            int[,] x3 = new int[n,m];
            citaj(n,m,x1);
            citaj(n,m,x2);
            
            for(int i = 0; i < n; i++)
            {
                int max = maksimum(i, m, x1);
                for(int j = 0; j < m; j++)
                {
                    x3[i,j] = max;
                }
            }

            for(int j = 0; j < m; j++)
            {
                for(int i = 0; i < n; i++)
                {
                    if(x3[i,j] > x2[i,j])
                    {
                        int max = maksimum_apsolutna(j,n,x2);
                        for(i = 0; i < n; i++)
                        {
                            x3[i,j] -= max;
                        }
                    }
                }
            }
            
            bool dobar = true;
            for(int i = 0; i < n; i++)
            {
                for(int j = 0; j < m; j++)
                {
                    if(x3[i,j] < x1[i,j] || x3[i,j] > x2[i,j])
                    {
                        dobar = false;
                        break;
                    }
                }
                if(!dobar)
                {
                    break;
                }
            }
            if(dobar)
            {
                Console.WriteLine("DA");
                pisi(n,m,x3);
            }
            else
            {
                Console.WriteLine("NE");
            }
        }
    }
}