#include <bits/stdc++.h>
using namespace std;
int w, h, n;
set<int> a, b;
multiset<long long, greater<long long> > c, d;
set<int>::iterator i, j;
void init() {
  cin >> w >> h >> n;
  a.insert(0);
  b.insert(0);
  a.insert(w);
  b.insert(h);
  c.insert(w);
  d.insert(h);
  for (int run = 1; run <= n; run++) {
    char sign;
    int loc;
    do {
      sign = getchar();
    } while (sign != 'V' && sign != 'H');
    scanf("%d", &loc);
    if (sign == 'V') {
      i = a.lower_bound(loc);
      j = i;
      j--;
      c.erase(c.find((*i) - (*j)));
      c.insert((*i) - loc);
      c.insert(loc - (*j));
      a.insert(loc);
      printf("%I64d\n", (*c.begin()) * (*d.begin()));
    } else {
      i = b.lower_bound(loc);
      j = i;
      j--;
      d.erase(d.find((*i) - (*j)));
      d.insert((*i) - loc);
      d.insert(loc - (*j));
      b.insert(loc);
      printf("%I64d\n", (*c.begin()) * (*d.begin()));
    }
  }
}
int main() {
  init();
  return 0;
}
