#include <bits/stdc++.h>
using namespace std;
int main() {
  long long v, h, n, x;
  char ch;
  cin >> v >> h >> n;
  set<long long> sth, stv;
  set<long long>::iterator a, b;
  multiset<long long> msth, mstv;
  sth.insert(0);
  sth.insert(h);
  msth.insert(h);
  stv.insert(0);
  stv.insert(v);
  mstv.insert(v);
  for (int i = 0; i < n; i++) {
    cin >> ch >> x;
    if (ch == 'H') {
      sth.insert(x);
      a = sth.lower_bound(x);
      a++;
      b = sth.lower_bound(x);
      b--;
      msth.erase(msth.find(*a - *b));
      msth.insert(*a - x);
      msth.insert(x - *b);
    } else if (ch == 'V') {
      stv.insert(x);
      a = stv.lower_bound(x);
      a++;
      b = stv.lower_bound(x);
      b--;
      mstv.erase(mstv.find(*a - *b));
      mstv.insert(*a - x);
      mstv.insert(x - *b);
    }
    cout << (*msth.rbegin()) * (*mstv.rbegin()) << endl;
  }
  return 0;
}
