rt
#include <iostream>
using namespace std;
struct paint
{
int id, col;
} l[100005], r[100005];
int main()
{
int T;
cin >> T;
while(T--)
{
int n, m, q;
cin >> n >> m >> q;
for(int i = 1; i <= n; i++)
{
l[i].col = 0;
l[i].id = 0;
}
for(int i = 1; i <= m; i++)
{
r[i].col = 0;
r[i].id = 0;
}
for(int i = 1; i <= q; i++)
{
int op, x, c;
cin >> op >> x >> c;
if(op == 1)
{
l[x].col = c;
l[x].id = i;
}
else
{
r[x].col = c;
r[x].id = i;
}
}
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= m; j++)
{
if(r[i].id > l[j].id)
{
cout << r[i].col << " ";
}
else if(l[j].id > r[i].id)
{
cout << l[j].col << " ";
}
else cout << "0 ";
}
cout << endl;
}
}
return 0;
}