#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-8;
const int inf = 0x3f3f3f3f;
const int maxn = 100000 + 10;
const int maxm = 100000 + 10;
set<int> x, y;
map<int, int> wid, hei;
set<int>::iterator itl, itm, itr;
int main() {
  int w, h, n;
  char op;
  int a;
  scanf("%d%d%d", &w, &h, &n);
  x.insert(0);
  x.insert(w);
  y.insert(0);
  y.insert(h);
  wid[w]++;
  hei[h]++;
  for (int i = 0; i < n; i++) {
    scanf(" %c%d", &op, &a);
    if (op == 'H') {
      y.insert(a);
      itm = y.find(a);
      itl = itm;
      itl--;
      itr = itm;
      itr++;
      int len = *itr - *itl;
      int lenl = *itm - *itl;
      int lenr = *itr - *itm;
      if (--hei[len] == 0) {
        hei.erase(len);
      }
      hei[lenl]++;
      hei[lenr]++;
    } else {
      x.insert(a);
      itm = x.find(a);
      itl = itm;
      itl--;
      itr = itm;
      itr++;
      int len = *itr - *itl;
      int lenl = *itm - *itl;
      int lenr = *itr - *itm;
      if (--wid[len] == 0) {
        wid.erase(len);
      }
      wid[lenl]++;
      wid[lenr]++;
    }
    printf("%lld\n", (long long)wid.rbegin()->first * hei.rbegin()->first);
  }
  return 0;
}
