#include <bits/stdc++.h>
using namespace std;
int w;
int h;
int n;
multiset<long long int> rs, cs;
set<long long int> r;
set<long long int> c;
char S[3];
int main() {
  scanf("%d%d%d", &h, &w, &n);
  r.insert(0);
  c.insert(0);
  r.insert(w);
  c.insert(h);
  rs.insert(w);
  cs.insert(h);
  set<long long int>::iterator ite;
  set<long long int>::iterator it;
  while (n--) {
    int a;
    scanf("%s%d", S, &a);
    if (S[0] == 'H') {
      if (r.count(a)) {
      } else {
        r.insert(a);
        ite = r.find(a);
        it = ite;
        ite++;
        it--;
        rs.erase(rs.find((*(ite)) - (*(it))));
        rs.insert((*ite) - a);
        rs.insert(a - (*it));
      }
    } else {
      if (c.count(a)) {
      } else {
        c.insert(a);
        ite = c.find(a);
        it = ite;
        ite++;
        it--;
        cs.erase((cs.find((*ite) - (*it))));
        cs.insert((*ite) - a);
        cs.insert(a - (*it));
      }
    }
    ite = rs.end();
    ite--;
    it = cs.end();
    it--;
    long long int ans = (*ite) * (*it);
    printf("%I64d\n", ans);
  }
  return 0;
}
