#include <bits/stdc++.h>
using namespace std;
multiset<int> s[2], mx[2];
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int h, w;
  cin >> h >> w;
  swap(h, w);
  int n;
  cin >> n;
  s[0].insert(0);
  s[0].insert(h);
  s[1].insert(0);
  s[1].insert(w);
  mx[0].insert(h), mx[1].insert(w);
  for (int i = 0; i < n; i++) {
    char C;
    int x;
    cin >> C >> x;
    int c;
    if (C == 'H')
      c = 0;
    else
      c = 1;
    s[c].insert(x);
    auto it = s[c].find(x);
    auto it1 = it, it2 = it;
    it1--;
    it2++;
    mx[c].erase(mx[c].find(*it2 - *it1));
    mx[c].insert(*it2 - *it);
    mx[c].insert(*it - *it1);
    cout << 1ll * (*mx[0].rbegin()) * (*mx[1].rbegin()) << endl;
  }
}
