#include <bits/stdc++.h>
using namespace std;
int w, h, n, v;
char s[10];
set<int> sh, sw;
set<int>::iterator it1, it2;
multiset<long long> msh, msw;
multiset<long long>::iterator it;
int main() {
  scanf("%d%d%d", &w, &h, &n);
  sh.insert(0);
  sh.insert(h);
  sw.insert(0);
  sw.insert(w);
  msh.insert(h);
  msw.insert(w);
  for (int i = 0; i < n; i++) {
    scanf("%s%d", s, &v);
    if (s[0] == 'H') {
      it1 = sh.lower_bound(v);
      it2 = it1;
      it2--;
      msh.erase(msh.find(*it1 - *it2));
      msh.insert(*it1 - v);
      msh.insert(v - *it2);
      sh.insert(v);
    } else {
      it1 = sw.lower_bound(v);
      it2 = it1;
      it2--;
      msw.erase(msw.find(*it1 - *it2));
      msw.insert(*it1 - v);
      msw.insert(v - *it2);
      sw.insert(v);
    }
    printf("%I64d\n", (long long)((*msh.rbegin()) * (*msw.rbegin())));
  }
  return 0;
}
