#include<bits/stdc++.h>
#define ll long long
#define ms(a) memset(a,0,sizeof a)
using namespace std;
int n,m,q,t;
struct paint{
ll color,priority;
}col[100001],row[100001];
inline ll read(){
ll x=0,f=1;
char ch=getchar();
while(!isdigit(ch)){
if(ch=='-')f=-1;
ch=getchar();
}
while(isdigit(ch)){
x=(x<<3)+(x<<1)+ch^'0';
ch=getchar();
}
return x*f;
}
void work(){
n=read(),m=read(),q=read();
ll cnt=1;
for(int i=1;i<=n;i++)row[i].color=row[i].priority=0;
for(int i=1;i<=m;i++)col[i].color=col[i].priority=0;
for(int i=1;i<=q;i++){
ll c,opt,x;
opt=read(),x=read(),c=read();
if(opt==1){
col[x].color=x;
col[x].priority=cnt++;
}else{
row[x].color=c;
row[x].priority=cnt++;
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(col[j].priority>row[i].priority){
cout<<col[j].color<<" ";
}else cout<<row[i].color<<" ";
}
cout<<endl;
}
}
int main(){
cin>>t;
while(t--){
work();
}
return 0;
}