#include <bits/stdc++.h>
using namespace std;
int n, m, k, p[5100][5100], a, b, c;
struct polje {
  int boja;
  int vrijeme;
} r[5100], s[5100];
int main() {
  scanf("%d %d %d", &n, &m, &k);
  for (int i = (0); i < int(5050); i++) {
    r[i].boja = 0;
    r[i].vrijeme = 0;
    s[i].vrijeme = 0;
    s[i].boja = 0;
  }
  for (int i = (1); i < int(k + 1); i++) {
    scanf("%d %d %d", &a, &b, &c);
    b--;
    if (a == 1) {
      r[b].boja = c;
      r[b].vrijeme = i;
    } else {
      s[b].boja = c;
      s[b].vrijeme = i;
    }
  }
  for (int i = (0); i < int(n); i++) {
    for (int j = (0); j < int(m); j++) {
      if (r[i].vrijeme > s[j].vrijeme) {
        printf("%d ", r[i].boja);
      } else {
        printf("%d ", s[j].boja);
      }
    }
    printf("\n");
  }
  return 0;
}
