#include <bits/stdc++.h>
using namespace std;
long long square(int ar, int br) { return (long long)ar * (long long)br; }
int main(void) {
  char cha;
  int wa, ha, na, xa;
  scanf("%d%d%d\n", &wa, &ha, &na);
  multiset<int> dataX, dataY;
  multiset<int> diffX, diffY;
  dataX.insert(wa);
  dataX.insert(0);
  dataY.insert(ha);
  dataY.insert(0);
  diffX.insert(wa);
  diffY.insert(ha);
  for (int i = 0; i < na; i++) {
    scanf("%c%d\n", &cha, &xa);
    if (cha == 'V') {
      auto it = dataX.upper_bound(xa);
      int up = *it;
      int down = *(--it);
      diffX.erase(diffX.find(up - down));
      diffX.insert(xa - down);
      diffX.insert(up - xa);
      dataX.insert(xa);
    } else {
      auto it = dataY.upper_bound(xa);
      int up = *it;
      int down = *(--it);
      diffY.erase(diffY.find(up - down));
      diffY.insert(up - xa);
      diffY.insert(xa - down);
      dataY.insert(xa);
    }
    cout << square(*diffX.rbegin(), *diffY.rbegin()) << "\n";
  }
  return 0;
}
