#include <bits/stdc++.h>
using namespace std;
const long long MAX = 2500000000;
const int inf = 123456789;
const double EPS = 1e-9;
const double PI = 2 * asin(1.0);
const long long mod = 1e9 + 7;
int double_cmp(double x, double y = 0, double tol = EPS) {
  return (x <= y + tol) ? (x + tol < y) ? -1 : 0 : 1;
}
int matriz[6000][6000];
int linha[6000], coluna[6000];
int lin[6000], col[6000];
vector<pair<int, int> > ent;
int main() {
  int n, m, k;
  scanf("%d%d%d", &n, &m, &k);
  while (k--) {
    int a, b, c;
    scanf("%d%d%d", &a, &b, &c);
    if (a == 1)
      linha[b - 1] = c;
    else
      coluna[b - 1] = c;
    ent.push_back(make_pair(a, b - 1));
  }
  for (int i = ((int)ent.size()) - 1; i >= 0; --i) {
    int a = ent[i].first, b = ent[i].second;
    if (a == 1) {
      if (lin[b] == 0) {
        lin[b] = 1;
        for (int j = 0; j < m; ++j)
          if (matriz[b][j] == 0) matriz[b][j] = linha[b];
      }
    } else {
      if (col[b] == 0) {
        col[b] = 1;
        for (int j = 0; j < n; ++j)
          if (matriz[j][b] == 0) matriz[j][b] = coluna[b];
      }
    }
  }
  for (int i = 0; i < n; ++i) {
    for (int j = 0; j < m; ++j) printf("%d ", matriz[i][j]);
    printf("\n");
  }
}
