#include <bits/stdc++.h>
#define F first
#define S second
#define X real()
#define Y imag()
using namespace std;
typedef long long ll;
typedef long double ld;
int ans[101][101];
void print_ans(int n, int m, bool flip) {
if (flip) swap(n,m);
for (int i=0;i<n;i++) {
for (int j=0;j<m;j++) {
if (flip) cout << ans[j][i] << " ";
else cout << ans[i][j] << " ";
}
cout << "\n";
}
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int tcs;
cin >> tcs;
for (int tc=0;tc<tcs;tc++) {
int n,m;
cin >> n >> m;
bool flip=false;
if (n>m) {
flip = true;
swap(n,m);
}
if (n==1) {
if (m==1) cout << "YES\n1\n";
else if (m<4) cout << "NO\n";
else {
cout << "YES\n";
int j=0;
for (int i=2*((m+1)/2)-1; i>0; i-=2) ans[0][j++]=i;
for (int i=2*(m/2); i>0; i-=2) ans[0][j++]=i;
print_ans(n,m,flip);
}
} else {
if (n==2 && m==2) cout<<"NO\n";
else {
cout << "YES\n";
for (int i=0; i<n; i++) {
for (int j=0; j<m; j++) {
ans[i][j] = (n*j + i*(n+1))%(n*m) + 1;
}
}
print_ans(n,m,flip);
}
}
}
}