#include <bits/stdc++.h>
using namespace std;
const int maxn = 1.1e5;
set<int> Horz, Vert;
multiset<int> Hor, Ver;
int w, h, n, p;
string op;
void Cut(set<int>& S, multiset<int>& Ms, int p) {
  set<int>::iterator succ = S.upper_bound(p), prev = S.upper_bound(p);
  prev--;
  multiset<int>::iterator ps = Ms.find(*succ - *prev + 1);
  Ms.erase(ps);
  S.insert(p), S.insert(p + 1);
  Ms.insert(p - *prev + 1), Ms.insert(*succ - p);
}
int main() {
  ios::sync_with_stdio(0);
  cin >> w >> h >> n;
  Vert.insert(1), Vert.insert(w), Ver.insert(w);
  Horz.insert(1), Horz.insert(h), Hor.insert(h);
  for (int i = 1; i <= n; ++i) {
    cin >> op >> p;
    if (op[0] == 'V')
      Cut(Vert, Ver, p);
    else
      Cut(Horz, Hor, p);
    cout << (long long)*Ver.rbegin() * *Hor.rbegin() << endl;
  }
}
