#include <bits/stdc++.h>
using namespace std;
long long w, h, n, x;
char ty;
multiset<long long> pos[2], sz[2];
int main() {
  scanf("%lld %lld %lld", &w, &h, &n);
  pos[0].insert(0);
  pos[0].insert(w);
  sz[0].insert(w);
  pos[1].insert(0);
  pos[1].insert(h);
  sz[1].insert(h);
  for (int i = 0; i < n; i++) {
    scanf(" %c %lld", &ty, &x);
    ty = ty == 'H' ? 1 : 0;
    multiset<long long>::iterator it2 = pos[ty].lower_bound(x), it = it2;
    --it;
    sz[ty].erase(sz[ty].find(*it2 - *it));
    sz[ty].insert(*it2 - x);
    sz[ty].insert(x - *it);
    pos[ty].insert(x);
    printf("%lld\n", *sz[0].rbegin() * *sz[1].rbegin());
  }
  return 0;
}
