#include <bits/stdc++.h>
using namespace std;
long long mat1[310][310], mat2[310][310];
long long mat3[310][310], mat4[310][310];
long long konacna[310][310];
int main(){
	long long n, m, t;
	scanf("%lld", &t);
	while(t--){
		scanf("%lld %lld", &n, &m);
		for(int i = 1; i <= n; i++){
			for(int j = 1; j <= m; j++){
				scanf("%lld", &mat1[i][j]);
			}
		}
		for(int i = 1; i <= n; i++){
			for(int j = 1; j <= m; j++){
				scanf("%lld", &mat2[i][j]);
			}
		}
		for(int i = 1; i <= n; i++){
			konacna[i][1] = mat1[i][1];
		}
		for(int i = 1; i <= m; i++){
			konacna[1][i] = mat1[1][i];
		}
		for(int i = 2; i <= n; i++){
			for(int j = 2; j <= m; j++){
				konacna[i][j] = konacna[i - 1][j] - (konacna[i - 1][1] - konacna[i][1]);
			}
		}
		bool moze = true;
		for(int i = 1; i <= n; i++){
			for(int j = 1; j <= m; j++){
				if(konacna[i][j] < mat1[i][j] || konacna[i][j] > mat2[i][j])
					moze = false;
			}
		}
		if(moze){
			printf("DA\n");
			for(int i = 1; i <= n; i++){
				for(int j = 1; j <= m; j++){
					printf("%lld ", konacna[i][j]);
				}
				printf("\n");
			}
		}
		else
			printf("NE\n");
	}
	return 0;
}