#include <bits/stdc++.h>
using namespace std;
multiset<int> S1, S2, S3, S4;
multiset<int>::iterator sit;
int n, m, T, X1, X2, l, r, A;
char s[105];
int main() {
  scanf("%d%d%d", &n, &m, &T);
  swap(n, m);
  S1.insert(0);
  S1.insert(n);
  S2.insert(0);
  S2.insert(m);
  S3.insert(n);
  S4.insert(m);
  X1 = n;
  X2 = m;
  while (T--) {
    scanf("%s", s);
    scanf("%d", &A);
    if (s[0] == 'H') {
      sit = S1.lower_bound(A);
      l = *(--sit);
      r = *(++sit);
      S3.erase(S3.find(r - l));
      S3.insert(A - l);
      S3.insert(r - A);
      sit = S3.lower_bound(n);
      X1 = *(--sit);
      S1.insert(A);
    } else {
      sit = S2.lower_bound(A);
      l = *(--sit);
      r = *(++sit);
      S4.erase(S4.find(r - l));
      S4.insert(A - l);
      S4.insert(r - A);
      sit = S4.lower_bound(m);
      X2 = *(--sit);
      S2.insert(A);
    }
    printf("%I64d\n", 1ll * X1 * X2);
  }
  return 0;
}
