#include <bits/stdc++.h>
using namespace std;
long long w, h, n, k;
char a;
set<long long> q1, q2;
multiset<long long> q3, q4;
multiset<long long>::iterator q5, q6;
set<long long>::iterator k1, k2;
int main() {
  cin >> w >> h >> n;
  q1.insert(0), q1.insert(w), q3.insert(w);
  q2.insert(0), q2.insert(h), q4.insert(h);
  for (long long i = 1; i <= n; i++) {
    cin >> a >> k;
    if (a == 'V') {
      k1 = q1.upper_bound(k);
      k2 = (q1.lower_bound(k));
      k2--;
      q3.erase((q3.find(*k1 - *k2)));
      q3.insert(*k1 - k);
      q3.insert(k - *k2);
      q1.insert(k);
    } else {
      k1 = q2.upper_bound(k);
      k2 = (q2.lower_bound(k));
      k2--;
      q4.erase((q4.find(*k1 - *k2)));
      q4.insert(*k1 - k);
      q4.insert(k - *k2);
      q2.insert(k);
    }
    q5 = q3.end(), q5--;
    q6 = q4.end(), q6--;
    cout << (*q5) * (*q6) << endl;
  }
}
