#include<bits/stdc++.h>
#define ll long long
#define MAXN 307
using namespace std;
ll l[MAXN][MAXN], u[MAXN][MAXN], a[MAXN][MAXN];
bool st2(int n, int m) 
{
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            if(l[i][j]!=u[i][j])return false;
        }
    }
    return true;
}
void solvest2(int n, int m)
{
    for(int i=0;i<n-1;i++)
    {
        for(int j=0;j<m-1;j++)
        {
            if(l[i][j]+l[i+1][j+1]!=l[i+1][j]+l[i][j+1])
            {
                cout<<"NE"<<endl;
                return;
            }
        }
    }
    cout<<"DA"<<endl;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            cout<<l[i][j]<<" ";
        }
        cout<<endl;
    }
    return;
}
bool st3(int n, int m)
{
    for(int i=0;i<n;i++)
    {
        if(l[i][0]!=u[i][0])return false;
    }
    for(int i=0;i<m;i++)
    {
        if(l[0][i]!=u[0][i]) return false;
    }
    return true;
}
void solvest3(int n, int m)
{
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            if(j==0 || i==0) a[i][j]=l[i][j];
            else
            {
                a[i][j]=a[i-1][j]+a[i][j-1]-a[i-1][j-1];
            }
        }
    }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            if(a[i][j]<l[i][j] || a[i][j]>u[i][j])
            {
                cout<<"NE"<<endl;
                return;
            }
        }
    }
    cout<<"DA"<<endl;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            cout<<a[i][j]<<" ";
        }
        cout<<endl;
    }
    return;
}
void solvest4(int n, int m)
{
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            if((i-j)%2==0) a[i][j]=u[i][j];
            else a[i][j]=0;
        }
    }
    for(int i=0;i<n-2;i+=2)
    {
        for(int j=0;j<m-2;j+=2)
        {
            if(a[i][j]+a[i+2][j+2]!=a[i+2][j]+a[i][j+2])
            {
                cout<<"NE"<<endl;
                return;
            }
        }
    }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            
        }
    }
}
void solve(int n, int m)
{
    if(st2(n,m)) solvest2(n,m);
    else if(st3(n,m)) solvest3(n,m);
    else solvest4(n,m);
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    int n,m,t;
    cin>>t;
    while(t--)
    {
        cin>>n>>m;
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<m;j++)
            {
                cin>>l[i][j];
            }
        }
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<m;j++)
            {
                cin>>u[i][j];
            }
        }
        solve(n,m);
    }
    return 0;
}