#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long int n, h, w;
  cin >> w >> h >> n;
  vector<long long int> markh(h + 1, 0), markw(w + 1, 0);
  markh[0] = 0;
  markh[h] = 0;
  markw[0] = 0;
  markw[w] = 0;
  set<long long int> x, y;
  multiset<long long int> pqh, pqw;
  x.insert(0), x.insert(h);
  y.insert(0), y.insert(w);
  pqh.insert(h), pqw.insert(w);
  while (n--) {
    char a;
    long long int c;
    cin >> a >> c;
    if (a == 'H') {
      long long int a = *x.upper_bound(c), b = *(--x.upper_bound(c));
      x.insert(c);
      pqh.erase(pqh.lower_bound(a - b));
      pqh.insert(a - c), pqh.insert(c - b);
    } else {
      long long int a = *y.upper_bound(c), b = *(--y.upper_bound(c));
      y.insert(c);
      pqw.erase(pqw.lower_bound(a - b));
      pqw.insert(a - c), pqw.insert(c - b);
    }
    cout << (*(pqw.rbegin())) * (*(pqh.rbegin())) << "\n";
  }
  return 0;
}
