#include <bits/stdc++.h>
using namespace std;
set<int> ngang;
set<int> doc;
multiset<int> mxngang;
multiset<int> mxdoc;
set<int>::iterator it, lleft, rright, cur;
long long ans;
int main() {
  ios_base::sync_with_stdio(false);
  int n, m, w;
  cin >> n >> m >> w;
  ngang.insert(0);
  ngang.insert(m);
  mxngang.insert(m);
  doc.insert(0);
  doc.insert(n);
  mxdoc.insert(n);
  while (w--) {
    int u;
    char v;
    cin >> v >> u;
    if (v == 'H') {
      ngang.insert(u);
      it = ngang.lower_bound(u);
      lleft = it;
      lleft--;
      rright = it;
      rright++;
      mxngang.erase(mxngang.find(*rright - *lleft));
      mxngang.insert(*it - *lleft);
      mxngang.insert(*rright - *it);
    } else {
      doc.insert(u);
      it = doc.lower_bound(u);
      lleft = it;
      lleft--;
      rright = it;
      rright++;
      mxdoc.erase(mxdoc.find(*rright - *lleft));
      mxdoc.insert(*it - *lleft);
      mxdoc.insert(*rright - *it);
    }
    ans = 1;
    cur = mxdoc.end();
    ans *= *(--cur);
    cur = mxngang.end();
    ans *= *(--cur);
    cout << ans << endl;
  }
}
