#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1e9 + 7;
const long long MOD1 = 998244353;
const long double PI = atan2(0, -1);
const long long INF = 1e9 + 123;
const long long infl = 1e18;
const long double eps = 1e-7;
long long gcd(long long a, long long b) { return a ? gcd(b % a, a) : b; }
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long n, m, q;
  cin >> n >> m >> q;
  multiset<long long> maxX, maxY;
  set<long long> x, y;
  maxX.insert(n);
  maxY.insert(m);
  x.insert(0);
  x.insert(n);
  y.insert(0);
  y.insert(m);
  while (q--) {
    char c;
    long long i;
    cin >> c >> i;
    if (c == 'H') {
      auto prev = y.lower_bound(i);
      auto nxt = prev--;
      maxY.insert(i - *prev);
      maxY.insert(*nxt - i);
      maxY.erase(maxY.lower_bound(*nxt - *prev));
      y.insert(i);
    } else {
      auto prev = x.lower_bound(i);
      auto nxt = prev--;
      maxX.insert(i - *prev);
      maxX.insert(*nxt - i);
      maxX.erase(maxX.lower_bound(*nxt - *prev));
      x.insert(i);
    }
    long long ans = (*maxX.rbegin()) * (*maxY.rbegin());
    cout << ans << '\n';
  }
}
