#include <bits/stdc++.h>
using namespace std;
int w, h, n;
set<long long> hc, vc;
map<long long, long long> hcuts, vcuts;
int main(void) {
  cin >> w >> h >> n;
  hc.insert(0);
  hc.insert(h);
  vc.insert(0);
  vc.insert(w);
  hcuts[h]++;
  vcuts[w]++;
  for (int i = 0; i < n; i++) {
    char c;
    int k;
    cin >> c >> k;
    if (c == 'H') {
      auto it2 = hc.upper_bound(k);
      auto it = it2;
      it--;
      int ex = *it2 - *it;
      hcuts[ex]--;
      if (hcuts[ex] == 0) hcuts.erase(hcuts.find(ex));
      hcuts[*it2 - k]++;
      hcuts[k - *it]++;
      hc.insert(k);
    } else {
      auto it2 = vc.upper_bound(k);
      auto it = it2;
      it--;
      int ex = *it2 - *it;
      vcuts[ex]--;
      if (vcuts[ex] == 0) vcuts.erase(vcuts.find(ex));
      vcuts[*it2 - k]++;
      vcuts[k - *it]++;
      vc.insert(k);
    }
    auto it3 = hcuts.end(), it4 = vcuts.end();
    it3--;
    it4--;
    printf("%lld\n", ((it3->first) * (it4->first)));
  }
  return 0;
}
