#include <stdio.h>

int main () {

  int W, H, N;

  scanf("%d %d %d", &W, &H, &N);

  int map[100][100] = {};

  int i, j;
  
  for (i=0; i<H; i++) {
    for (j=0; j<W; j++) {
      map[i][j] = 1;
    }
  }


  int w, h, a;

  int x, y;
  
  for (i=0; i<N; i++) {

    scanf("%d %d %d", &w, &h, &a);

    switch (a) {
    case 1:
      for (y=0; y<H; y++) {
	for (x=0; x<w; x++) {
	  map[y][x] = 0;
	}
      }
      break;

    case 2:
      for (y=0; y<H; y++) {
	for (x=W; x>=w; x--) {
	  map[y][x] = 0;
	}
      }
      break;
      
    case 3:
      for (y=0; y<h; y++) {
	for (x=0; x<W; x++) {
	  map[y][x] = 0;
	}
      }
      break;
      
    case 4:
      for (y=H; y>h; y--) {
	for (x=0; x=<W; x++) {
	  map[y][x] = 0;
	}
      }
      break;
    }

  }

  int result = 0;

  for(y=0; y<H; y++) {
    for(x=0; x<W; x++) {
      if (map[x][y] == 1) result++;
    }
  }

  printf("%d\n", result);

  return 0;
}

  