#include <bits/stdc++.h>
using namespace std;
set<int> H, W;
multiset<int> MH, MW;
int main() {
  int w, h, n;
  scanf("%d%d%d", &w, &h, &n);
  W.insert(0);
  W.insert(w);
  H.insert(0);
  H.insert(h);
  MH.insert(h);
  MW.insert(w);
  while (n--) {
    int a, b, c;
    char x[2];
    scanf("%s%d", x, &c);
    if (x[0] == 'V') {
      swap(H, W);
      swap(MH, MW);
    }
    H.insert(c);
    a = *(--H.find(c));
    b = *(++H.find(c));
    MH.erase(MH.find(b - a));
    MH.insert(b - c);
    MH.insert(c - a);
    if (x[0] == 'V') {
      swap(H, W);
      swap(MH, MW);
    }
    printf("%lld\n", (long long)(*(--MW.end())) * (long long)(*(--MH.end())));
  }
  return 0;
}
