#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  int w, h, n;
  cin >> w >> h >> n;
  set<int> hDist;
  multiset<int> hDiff;
  hDiff.insert(h);
  hDist.insert(0);
  hDist.insert(h);
  set<int> vDist;
  multiset<int> vDiff;
  vDiff.insert(w);
  vDist.insert(0);
  vDist.insert(w);
  for (int i = 0; i < n; ++i) {
    char c;
    cin >> c;
    int dist;
    cin >> dist;
    if (c == 'H') {
      hDist.insert(dist);
      set<int>::iterator it = hDist.find(dist);
      ++it;
      int max = *it;
      --it;
      --it;
      int min = *it;
      it = hDiff.find(max - min);
      hDiff.erase(it);
      hDiff.insert(max - dist);
      hDiff.insert(dist - min);
    } else if (c == 'V') {
      vDist.insert(dist);
      set<int>::iterator it = vDist.find(dist);
      it++;
      int max = *it;
      --it;
      --it;
      int min = *it;
      it = vDiff.find(max - min);
      vDiff.erase(it);
      vDiff.insert(max - dist);
      vDiff.insert(dist - min);
    }
    set<int>::iterator it = vDiff.end();
    --it;
    long long x = *it;
    it = hDiff.end();
    --it;
    long long y = *it;
    cout << x * y << endl;
  }
  return 0;
}
