#include <bits/stdc++.h>
using namespace std;
const long double EPS = 1e-8;
const int INF = (int)(1e9);
const long long mod = (int)(1e+9 + 7);
const int N = (int)(1e6);
int days_month[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
multiset<int> Xs[2];
multiset<int> Ds[2];
int w, h, n;
void init() {
  Xs[0].insert(0);
  Xs[1].insert(0);
  Xs[0].insert(h);
  Xs[1].insert(w);
  Ds[0].insert(h);
  Ds[1].insert(w);
}
int main() {
  cin >> w >> h >> n;
  init();
  char ch;
  int x;
  for (int i = 0; i < n; i++) {
    scanf(" %c %d", &ch, &x);
    bool t = ch == 'V';
    auto it2 = Xs[t].lower_bound(x);
    auto it1 = it2;
    it1--;
    Ds[t].erase(Ds[t].find(*it2 - *it1));
    Ds[t].insert(x - *it1);
    Ds[t].insert(*it2 - x);
    Xs[t].insert(x);
    int dh = *Ds[0].rbegin();
    int dv = *Ds[1].rbegin();
    printf("%I64d\n", 1LL * dh * dv);
  }
  return 0;
}
