#include <bits/stdc++.h>
const int inf = 1e9 + 5;
const long long linf = 1e18;
const long double eps = 1e-6;
const long long mod = 1e9 + 7;
const int maxn = 2e5 + 10;
using namespace std;
set<int> hr, wr;
multiset<int> hs, ws1;
int main() {
  ios_base::sync_with_stdio(0);
  int n, m;
  cin >> n >> m;
  int k;
  cin >> k;
  hr.insert(0);
  hr.insert(n);
  hs.insert(n);
  wr.insert(0);
  wr.insert(m);
  ws1.insert(m);
  for (int i = 0; i < k; ++i) {
    char oper;
    int x;
    cin >> oper >> x;
    if (oper == 'V') {
      hr.insert(x);
      auto ind = hr.find(x);
      int l = 0, r = 0;
      ind--;
      l = *ind;
      ind++;
      ind++;
      r = *ind;
      hs.erase(hs.find(r - l));
      hs.insert(r - x);
      hs.insert(x - l);
    } else {
      wr.insert(x);
      auto ind = wr.find(x);
      int l = 0, r = 0;
      ind--;
      l = *ind;
      ind++;
      ind++;
      r = *ind;
      ws1.erase(ws1.find(r - l));
      ws1.insert(r - x);
      ws1.insert(x - l);
    }
    cout << ((long long)(*(hs.rbegin()))) * ((long long)(*(ws1.rbegin())))
         << "\n";
  }
  return 0;
}
