#include <bits/stdc++.h>
using namespace std;
#pragma comment(linker, "/STACK:64000000")
const int infi = 1e9 + 7;
const long long infl = 1e18 + 7;
set<pair<int, int> > seg1, seg2;
multiset<long long> len1, len2;
void cut(set<pair<int, int> > &seg, multiset<long long> &len, int x) {
  auto it = seg.upper_bound(make_pair(x, infi));
  --it;
  pair<int, int> cur = *it;
  seg.erase(cur);
  len.erase(len.find(cur.second - cur.first));
  pair<int, int> a = make_pair(cur.first, x);
  pair<int, int> b = make_pair(x, cur.second);
  if (a.first != a.second) {
    seg.insert(a);
    len.insert(a.second - a.first);
  }
  if (b.first != b.second) {
    seg.insert(b);
    len.insert(b.second - b.first);
  }
  return;
}
int main() {
  cin.sync_with_stdio(false);
  cin.tie(0);
  int w, h, n;
  cin >> w >> h >> n;
  seg1.insert(make_pair(0, w));
  seg2.insert(make_pair(0, h));
  len1.insert(w);
  len2.insert(h);
  for (int i = 0; i < (n); ++i) {
    char c;
    int x;
    cin >> c >> x;
    if (c == 'H')
      cut(seg2, len2, x);
    else
      cut(seg1, len1, x);
    long long a = *(--len1.end());
    long long b = *(--len2.end());
    cout << a * b << '\n';
  }
  return 0;
}
