#include <bits/stdc++.h>
using namespace std;
int main(int argc, char **argv) {
  int w, h, n;
  cin >> w >> h >> n;
  map<long long, int> a, b, q, z;
  a[0] = 1;
  a[h] = 1;
  b[0] = 1;
  b[w] = 1;
  z[w] = 1;
  q[h] = 1;
  map<long long, int>::iterator it1, it2;
  for (int i = 0; i < n; i++) {
    char c;
    int x;
    cin >> c >> x;
    if (c == 'H') {
      a.insert(make_pair(x, 1));
      it1 = a.find(x);
      it1 = prev(it1);
      it2 = next(it1, 2);
      long long r = it2->first - it1->first;
      q[r]--;
      if (q[r] == 0) {
        q.erase(r);
      }
      q[x - it1->first]++;
      q[it2->first - x]++;
    } else {
      b.insert(make_pair(x, 1));
      it1 = b.find(x);
      it1 = prev(it1);
      it2 = next(it1, 2);
      long long r = it2->first - it1->first;
      z[r]--;
      if (z[r] == 0) {
        z.erase(r);
      }
      z[x - it1->first]++;
      z[it2->first - x]++;
    }
    cout << (z.rbegin())->first * (q.rbegin())->first << endl;
  }
  return 0;
}
