#include <bits/stdc++.h>
using namespace std;
int main() {
  int w, h, n;
  cin >> w >> h >> n;
  set<int> x, y;
  x.insert(0);
  x.insert(w);
  y.insert(0);
  y.insert(h);
  multiset<int> mw, mh;
  mw.insert(w);
  mh.insert(h);
  set<int>::iterator lower, upper;
  char tmp;
  int k;
  for (int i = 0; i < n; i++) {
    cin >> tmp >> k;
    if (tmp == 'H') {
      y.insert(k);
      lower = upper = y.find(k);
      lower--;
      upper++;
      mh.erase(mh.find(*upper - *lower));
      mh.insert(*upper - k);
      mh.insert(k - *lower);
    } else {
      x.insert(k);
      lower = upper = x.find(k);
      lower--;
      upper++;
      mw.erase(mw.find(*upper - *lower));
      mw.insert(*upper - k);
      mw.insert(k - *lower);
    }
    cout << (long long)(*mw.rbegin()) * (long long)(*mh.rbegin()) << '\n';
  }
}
