#include <bits/stdc++.h>
using namespace std;
int main() {
  long long w, h, n;
  cin >> w >> h >> n;
  set<long long> xcut, ycut;
  xcut.insert(0);
  xcut.insert(w);
  ycut.insert(0);
  ycut.insert(h);
  map<long long, long long> wid, hei;
  hei[h]++;
  wid[w]++;
  for (long long i = 0; i < n; i++) {
    char c;
    long long x;
    cin >> c;
    cin >> x;
    if (c == 'V') {
      xcut.insert(x);
      set<long long>::iterator it = xcut.find(x);
      set<long long>::iterator itl = it;
      itl--;
      set<long long>::iterator itr = it;
      itr++;
      if (--wid[*itr - *itl] <= 0) wid.erase(*itr - *itl);
      ++wid[*itr - *it];
      ++wid[*it - *itl];
    } else {
      ycut.insert(x);
      set<long long>::iterator it = ycut.find(x);
      set<long long>::iterator itl = it;
      itl--;
      set<long long>::iterator itr = it;
      itr++;
      if (--hei[*itr - *itl] <= 0) hei.erase(*itr - *itl);
      ++hei[*itr - *it];
      ++hei[*it - *itl];
    }
    map<long long, long long>::iterator i1 = hei.end(), i2 = wid.end();
    i1--;
    i2--;
    cout << (long long)(i1->first * i2->first) << '\n';
  }
  return 0;
}
