/*Made by Shivam Solanki*/
#include<bits/stdc++.h>
using namespace std;
#define DEBUG(x) cout << '>' << #x << ':' << x << endl;
#define ll long long int
typedef vector<int> vi;
typedef vector<ll> vll;
typedef vector<vll> vvl;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef vector<vi> vvi;
typedef vector<bool> vb;
typedef vector<vb> vvb;
typedef vector<pii> vp;
typedef vector<pll> vpll;
typedef map<int,int> mii;
typedef map<ll,ll> mll;
typedef set<int> sii;
typedef set<ll> sll;
typedef priority_queue<int> pq;
typedef unordered_map<int,int> umii;
typedef unordered_map<ll,ll> umll;
typedef queue<int> qii;
#define rep(i,k,n) for (int i = k; i < n; ++i)
#define repr(i,k,n) for (int i = n; i>=k; --i)
#define repll(i,k,n) for (ll i = k; i < n; ++i)
#define repllr(i,k,n) for (ll i = n; i >= k; --i)
#define pb push_back
#define mp make_pair
// #define gcd __gcd
#define F first
#define S second
#define all(x) x.begin(),x.end()
#define fastio ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
const int INF = 1e9+5;
const int MOD = 1e9+7;
int dx[]={1,0,-1,0};
int dy[]={0,1,0,-1};
void solve(){
int n,m;
cin>>n>>m;
int ans[n][m];
rep(i,0,n){
rep(j,0,m){
ans[i][j]=-1;
}
}
int c1;
cin>>c1;
set<pii> s1;
// vvi v1;
queue<pii>q;
rep(i,0,c1){
int x,y;
cin>>x>>y;
--x,--y;
s1.insert({x,y});
// v1.pb({x,y});
ans[x][y]=0;
q.push({x,y});
}
cin>>c1;
set<pii>s2;
rep(i,0,c1){
int x,y;
cin>>x>>y;
--x,--y;
s2.insert({x,y});
}
auto isvalid=[&](int i,int j){
if(s2.count({i,j}) or s1.count({i,j})){
return false;
}
if(i>-1 and j>-1 and i<n and j<m){
return true;
}
return false;
};
// for(vi &s:v1){
// cout<<s.F<<' '<<s.S<<'\n';
while(!q.empty()){
pii v=q.front();
q.pop();
rep(i,0,4){
// cout<<dx[i]+v.F<<' '<<dy[i]+v.S<<' '<<isvalid(dx[i]+v.F,dy[i]+v.S)<<'\n';
if(isvalid(dx[i]+v.F,dy[i]+v.S) and (ans[dx[i]+v.F][dy[i]+v.S]==-1)){
// cout<<"HI\n";
ans[dx[i]+v.F][dy[i]+v.S]=ans[v.F][v.S]+1;
q.push({dx[i]+v.F,dy[i]+v.S});
}
}
}
// }
rep(i,0,n){
rep(j,0,m){
if(s2.count({i,j})) cout<<'X'<<' ';
else cout<<ans[i][j]<<' ';
}
cout<<'\n';
}
}
int main(){
// #ifndef ONLINE_JUDGE
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
// #endif
fastio;
int t=1;
cin>>t;
while(t--)
solve();
return 0;
}
LypNYWRlIGJ5IFNoaXZhbSBTb2xhbmtpKi8KI2luY2x1ZGU8Yml0cy9zdGRjKysuaD4gCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgREVCVUcoeCkgY291dCA8PCAnPicgPDwgI3ggPDwgJzonIDw8IHggPDwgZW5kbDsKI2RlZmluZSBsbCBsb25nIGxvbmcgaW50CnR5cGVkZWYgdmVjdG9yPGludD4gdmk7CnR5cGVkZWYgdmVjdG9yPGxsPiB2bGw7CnR5cGVkZWYgdmVjdG9yPHZsbD4gdnZsOwp0eXBlZGVmIHBhaXI8aW50LGludD4gcGlpOwp0eXBlZGVmIHBhaXI8bGwsbGw+IHBsbDsKdHlwZWRlZiB2ZWN0b3I8dmk+IHZ2aTsKdHlwZWRlZiB2ZWN0b3I8Ym9vbD4gdmI7CnR5cGVkZWYgdmVjdG9yPHZiPiB2dmI7CnR5cGVkZWYgdmVjdG9yPHBpaT4gdnA7CnR5cGVkZWYgdmVjdG9yPHBsbD4gdnBsbDsKdHlwZWRlZiBtYXA8aW50LGludD4gbWlpOwp0eXBlZGVmIG1hcDxsbCxsbD4gbWxsOwp0eXBlZGVmIHNldDxpbnQ+IHNpaTsKdHlwZWRlZiBzZXQ8bGw+IHNsbDsKdHlwZWRlZiBwcmlvcml0eV9xdWV1ZTxpbnQ+IHBxOwp0eXBlZGVmIHVub3JkZXJlZF9tYXA8aW50LGludD4gdW1paTsKdHlwZWRlZiB1bm9yZGVyZWRfbWFwPGxsLGxsPiB1bWxsOwp0eXBlZGVmIHF1ZXVlPGludD4gcWlpOwojZGVmaW5lIHJlcChpLGssbikgZm9yIChpbnQgaSA9IGs7IGkgPCBuOyArK2kpIAojZGVmaW5lIHJlcHIoaSxrLG4pIGZvciAoaW50IGkgPSBuOyBpPj1rOyAtLWkpCiNkZWZpbmUgcmVwbGwoaSxrLG4pIGZvciAobGwgaSA9IGs7IGkgPCBuOyArK2kpIAojZGVmaW5lIHJlcGxscihpLGssbikgZm9yIChsbCBpID0gbjsgaSA+PSBrOyAtLWkpIAojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIG1wIG1ha2VfcGFpcgovLyAjZGVmaW5lIGdjZCBfX2djZAojZGVmaW5lIEYgZmlyc3QKI2RlZmluZSBTIHNlY29uZAojZGVmaW5lIGFsbCh4KSB4LmJlZ2luKCkseC5lbmQoKQojZGVmaW5lIGZhc3RpbyBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgY2luLnRpZShOVUxMKTsgY291dC50aWUoTlVMTCk7CmNvbnN0IGludCBJTkYgPSAxZTkrNTsKY29uc3QgaW50IE1PRCA9IDFlOSs3OwoKaW50IGR4W109ezEsMCwtMSwwfTsKaW50IGR5W109ezAsMSwwLC0xfTsKCnZvaWQgc29sdmUoKXsKICAgIGludCBuLG07CiAgICBjaW4+Pm4+Pm07CiAgICBpbnQgYW5zW25dW21dOwogICAgcmVwKGksMCxuKXsKICAgICAgICByZXAoaiwwLG0pewogICAgICAgICAgICBhbnNbaV1bal09LTE7CiAgICAgICAgfQogICAgfQogICAgaW50IGMxOwogICAgY2luPj5jMTsKICAgIHNldDxwaWk+IHMxOwogICAgLy8gdnZpIHYxOwogICAgcXVldWU8cGlpPnE7CiAgICByZXAoaSwwLGMxKXsKICAgICAgICBpbnQgeCx5OwogICAgICAgIGNpbj4+eD4+eTsKICAgICAgICAtLXgsLS15OwogICAgICAgIHMxLmluc2VydCh7eCx5fSk7CiAgICAgICAgLy8gdjEucGIoe3gseX0pOwogICAgICAgIGFuc1t4XVt5XT0wOwogICAgICAgIHEucHVzaCh7eCx5fSk7CiAgICB9CiAgICBjaW4+PmMxOwogICAgc2V0PHBpaT5zMjsKICAgIHJlcChpLDAsYzEpewogICAgICAgIGludCB4LHk7CiAgICAgICAgY2luPj54Pj55OwogICAgICAgIC0teCwtLXk7CiAgICAgICAgczIuaW5zZXJ0KHt4LHl9KTsKICAgIH0KICAgIGF1dG8gaXN2YWxpZD1bJl0oaW50IGksaW50IGopewogICAgICAgIGlmKHMyLmNvdW50KHtpLGp9KSBvciBzMS5jb3VudCh7aSxqfSkpewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgICAgIGlmKGk+LTEgYW5kIGo+LTEgYW5kIGk8biBhbmQgajxtKXsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfSAKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9OwogICAgLy8gZm9yKHZpICZzOnYxKXsKICAgICAgICAvLyBjb3V0PDxzLkY8PCcgJzw8cy5TPDwnXG4nOwogICAgICAgIHdoaWxlKCFxLmVtcHR5KCkpewogICAgICAgICAgICBwaWkgdj1xLmZyb250KCk7CiAgICAgICAgICAgIHEucG9wKCk7CiAgICAgICAgICAgIHJlcChpLDAsNCl7CiAgICAgICAgICAgICAgICAvLyBjb3V0PDxkeFtpXSt2LkY8PCcgJzw8ZHlbaV0rdi5TPDwnICc8PGlzdmFsaWQoZHhbaV0rdi5GLGR5W2ldK3YuUyk8PCdcbic7CiAgICAgICAgICAgICAgICBpZihpc3ZhbGlkKGR4W2ldK3YuRixkeVtpXSt2LlMpIGFuZCAoYW5zW2R4W2ldK3YuRl1bZHlbaV0rdi5TXT09LTEpKXsKICAgICAgICAgICAgICAgICAgICAvLyBjb3V0PDwiSElcbiI7CiAgICAgICAgICAgICAgICAgICAgYW5zW2R4W2ldK3YuRl1bZHlbaV0rdi5TXT1hbnNbdi5GXVt2LlNdKzE7CiAgICAgICAgICAgICAgICAgICAgcS5wdXNoKHtkeFtpXSt2LkYsZHlbaV0rdi5TfSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAvLyB9CiAgICByZXAoaSwwLG4pewogICAgICAgIHJlcChqLDAsbSl7CiAgICAgICAgICAgIGlmKHMyLmNvdW50KHtpLGp9KSkgY291dDw8J1gnPDwnICc7CiAgICAgICAgICAgIGVsc2UgY291dDw8YW5zW2ldW2pdPDwnICc7CiAgICAgICAgfQogICAgICAgIGNvdXQ8PCdcbic7CiAgICB9Cn0gCiAKICAKaW50IG1haW4oKXsKICAgIC8vICNpZm5kZWYgT05MSU5FX0pVREdFICAKICAgICAgICAvLyBmcmVvcGVuKCJpbnB1dC50eHQiLCAiciIsIHN0ZGluKTsgCiAgICAgICAgLy8gZnJlb3Blbigib3V0cHV0LnR4dCIsICJ3Iiwgc3Rkb3V0KTsgCiAgICAvLyAjZW5kaWYgCiAgICBmYXN0aW87CiAgICBpbnQgdD0xOwogICAgY2luPj50OwogICAgd2hpbGUodC0tKQogICAgICAgIHNvbHZlKCk7CiAgICByZXR1cm4gMDsKfQ==