#include <bits/stdc++.h>
using namespace std;
long long w, h, n, x, l, r;
char c;
set<long long> V, H;
multiset<long long> DV, DH;
int main() {
  cin >> w >> h >> n;
  V.insert(0);
  V.insert(w);
  H.insert(0);
  H.insert(h);
  DH.insert(h);
  DV.insert(w);
  while (n--) {
    cin >> c >> x;
    if (c == 'V') {
      l = *(--V.lower_bound(x));
      r = *(V.lower_bound(x));
      DV.erase(DV.lower_bound(r - l));
      DV.insert(x - l);
      DV.insert(r - x);
      V.insert(x);
    } else {
      l = *(--H.lower_bound(x));
      r = *(H.lower_bound(x));
      DH.erase(DH.lower_bound(r - l));
      DH.insert(x - l);
      DH.insert(r - x);
      H.insert(x);
    }
    cout << (*(--DV.end())) * (*(--DH.end())) << endl;
  }
}
