#include <bits/stdc++.h>
using namespace std;
int main() {
  int W, H, n;
  scanf("%d%d%d", &W, &H, &n);
  multiset<int> w, h;
  w.insert(-W);
  h.insert(-H);
  set<int> wa, ha;
  wa.insert(0);
  wa.insert(W);
  ha.insert(0);
  ha.insert(H);
  for (int i = 0; i < n; i++) {
    char t;
    int x;
    scanf("\n%c%d", &t, &x);
    if (t == 'H') {
      auto r = ha.lower_bound(x);
      auto l = r;
      l--;
      h.erase(h.find((*l) - (*r)));
      ha.insert(x);
      h.insert((*l) - x);
      h.insert(x - (*r));
    } else if (t == 'V') {
      auto r = wa.lower_bound(x);
      auto l = r;
      l--;
      w.erase(w.find((*l) - (*r)));
      wa.insert(x);
      w.insert((*l) - x);
      w.insert(x - (*r));
    }
    printf("%lld\n", 1ll * (*h.begin()) * (*w.begin()));
  }
  return 0;
}
