#include <bits/stdc++.h>
using namespace std;
int main() {
  long long w, h, n;
  cin >> w >> h >> n;
  set<long long> cutW, cutH;
  multiset<long long> W, H;
  set<long long>::iterator it, it1;
  cutW.insert(0);
  cutW.insert(w);
  cutH.insert(0);
  cutH.insert(h);
  W.insert(w);
  H.insert(h);
  for (long long i = 0; i < n; i++) {
    char c;
    long long t;
    cin >> c >> t;
    if (c == 'H') {
      it = cutH.lower_bound(t);
      it1 = it;
      it1--;
      long long tmp;
      tmp = *it - *it1;
      H.erase(H.find(tmp));
      cutH.insert(t);
      H.insert(t - *it1);
      H.insert(*it - t);
    } else {
      it = cutW.lower_bound(t);
      it1 = it;
      it1--;
      long long tmp;
      tmp = *it - *it1;
      W.erase(W.find(tmp));
      cutW.insert(t);
      W.insert(t - *it1);
      W.insert(*it - t);
    }
    cout << *W.rbegin() * (*H.rbegin()) << "\n";
  }
  return 0;
}
