#include <bits/stdc++.h>
using namespace std;
enum { INF = 200300 };
int main() {
  int W, H, N;
  cin >> W >> H >> N;
  set<pair<int, int>> hsegms, vsegms;
  multiset<int> hlens, vlens;
  hsegms.insert(make_pair(H, H));
  vsegms.insert(make_pair(W, W));
  hlens.insert(H);
  vlens.insert(W);
  for (int i = 0; i < N; ++i) {
    char c = ' ';
    while (c != 'H' && c != 'V') {
      c = getchar();
    }
    int pos;
    scanf("%d", &pos);
    set<pair<int, int>> &csegms = (c == 'H' ? hsegms : vsegms);
    multiset<int> &clens = (c == 'H' ? hlens : vlens);
    auto it = csegms.lower_bound(make_pair(pos, 0));
    auto segm = *it;
    csegms.erase(it);
    clens.erase(clens.find(segm.second));
    csegms.insert(make_pair(pos, segm.second - (segm.first - pos)));
    csegms.insert(make_pair(segm.first, segm.first - pos));
    clens.insert(segm.second - (segm.first - pos));
    clens.insert(segm.first - pos);
    cout << 1LL * (*hlens.rbegin()) * (*vlens.rbegin()) << endl;
  }
  return 0;
}
