#include <bits/stdc++.h>
using namespace std;
multiset<int> ww, hh;
set<int> xx, yy;
int main() {
  int w, h, n;
  char line[20];
  int num;
  scanf("%d%d%d", &w, &h, &n);
  ww.insert(w);
  hh.insert(h);
  xx.insert(0), yy.insert(0);
  xx.insert(w), yy.insert(h);
  for (int i = 1; i <= n; i++) {
    scanf("%s%d", line, &num);
    if (line[0] == 'H') {
      yy.insert(num);
      set<int>::iterator it = yy.find(num);
      it--;
      int temp = *it;
      hh.insert(num - *it);
      it++;
      it++;
      hh.insert(*it - num);
      hh.erase(hh.find(*it - temp));
      yy.insert(num);
    } else {
      xx.insert(num);
      set<int>::iterator it = xx.find(num);
      it--;
      int temp = *it;
      ww.insert(num - *it);
      it++;
      it++;
      ww.insert(*it - num);
      ww.erase(ww.find(*it - temp));
      xx.insert(num);
    }
    long long a, b;
    multiset<int>::iterator it1 = ww.end(), it2 = hh.end();
    it1--;
    it2--;
    a = *it1, b = *it2;
    printf("%I64d\n", a * b);
  }
  return 0;
}
