#include <bits/stdc++.h>
using namespace std;
int W, H, N;
set<int> X[2];
multiset<int> D[2];
int main() {
  cin >> W >> H >> N;
  X[0].insert({0, W});
  D[0].insert(W);
  X[1].insert({0, H});
  D[1].insert(H);
  for (int i{0}, _end{N}; i < _end; ++i) {
    string t;
    int x;
    cin >> t >> x;
    bool y = t == "H";
    auto r = X[y].lower_bound(x);
    auto l = r;
    --l;
    D[y].erase(D[y].find(*r - *l));
    D[y].insert({x - *l, *r - x});
    X[y].insert(x);
    cout << 1ll * *D[0].rbegin() * *D[1].rbegin() << "\n";
  }
  return 0;
}
