#include<bits/stdc++.h>
using namespace std;
int vx[10003],vy[10003];
bool ff[10003][10003];//10^8*1/10^6=100;10^8*8/10^6
inline int read(){
int x=0,f=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}
return x*f;
}
int main(){
// freopen("paint.in","r",stdin);
// freopen("paint.out","w",stdout);
int t;
t=read();
while(t--){
int n,m,q;
n=read();
m=read();
q=read();
for(int i=1;i<=q;i++){
int opt,x,c;
opt=read();
x=read();
c=read();
if(opt==0){
vx[x]=c;
for(int i=1;i<=m;i++)ff[x][i]=1;//1 hang
}
else{
vy[x]=c;
for(int i=1;i<=n;i++)ff[i][x]=0;//0 lie
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(ff[i][j])printf("%d ",vx[i]);
else printf("%d ",vy[j]);
}
printf("\n");
}
memset(vx,0,sizeof(vx));
memset(vy,0,sizeof(vy));
memset(ff,0,sizeof(ff));
}
return 0;
}
/*
1
2 2 2
1 1 1
0 2 3
000
000
100
100
10
33
*/