#include <bits/stdc++.h>
using namespace std;
class segs {
 public:
  set<int> cuts;
  map<int, int> kol;
  segs(int l) {
    cuts.insert(0);
    cuts.insert(l);
    kol[l] = 1;
  }
  void cut(int pos) {
    auto it = cuts.lower_bound(pos);
    int a = *it;
    it--;
    int b = *it;
    cuts.insert(pos);
    kol[a - b]--;
    if (kol[a - b] == 0) {
      kol.erase(a - b);
    }
    kol[a - pos]++;
    kol[pos - b]++;
  }
  int max() { return kol.rbegin()->first; }
};
int main() {
  int h;
  int w;
  cin >> w >> h;
  segs H(h);
  segs W(w);
  int n;
  cin >> n;
  while (n--) {
    char c;
    int pos;
    cin >> c >> pos;
    if (c == 'H') {
      H.cut(pos);
    } else {
      W.cut(pos);
    }
    cout << 1ll * H.max() * W.max() << endl;
  }
  return 0;
}
