#include <bits/stdc++.h>
using namespace std;
set<int> wp;
set<int> hp;
multiset<int> len1, len2;
int main() {
  int n, w, h;
  char s[3];
  scanf("%d%d%d", &w, &h, &n);
  wp.insert(0);
  wp.insert(w);
  hp.insert(0);
  hp.insert(h);
  len1.insert(w);
  len2.insert(h);
  int i, x, y, tmp1, tmp2;
  long long ans = 0;
  set<int>::iterator it;
  for (i = 1; i <= n; i++) {
    scanf("%s%d", s, &x);
    if (s[0] == 'H') {
      it = hp.lower_bound(x);
      tmp1 = *it;
      it--;
      tmp2 = *it;
      len2.erase(len2.find(tmp1 - tmp2));
      hp.insert(x);
      len2.insert(x - tmp2);
      len2.insert(tmp1 - x);
    }
    if (s[0] == 'V') {
      it = wp.lower_bound(x);
      tmp1 = *it;
      it--;
      tmp2 = *it;
      len1.erase(len1.find(tmp1 - tmp2));
      wp.insert(x);
      len1.insert(x - tmp2);
      len1.insert(tmp1 - x);
    }
    ans = (long long)(*(--len1.end())) * (long long)(*(--len2.end()));
    printf("%lld\n", ans);
  }
  return 0;
}
