#include <bits/stdc++.h>   using namespace std;   set<int> x, y;   int vx[200006], vy[200006];   set<int> mx, my;   set<int>::iterator it1, it2;   void gao(set<int> &t1, set<int> &t2, int *v, int x) {     if (!t1.count(x)) {       it1 = t1.lower_bound(x);       it2 = it1, it1--;       int l = *it2 - *it1;       v[l]--;       if (v[l] == 0) t2.erase(l);       t2.insert(*it2 - x), v[*it2 - x]++;       t2.insert(x - *it1), v[x - *it1]++;       t1.insert(x);     }   }   int main() {     int w, h, n, t, T;     while (~scanf( %d%d%d , &w, &h, &n)) {       memset(vx, 0, sizeof(vx));       memset(vy, 0, sizeof(vy));       char c;       x.clear(), y.clear();       mx.clear(), my.clear();       x.insert(w), y.insert(h);       x.insert(0), y.insert(0);       mx.insert(w), my.insert(h);       vx[w]++, vy[h]++;       while (n--) {         cin >> c >> t;         if (c ==  V )           gao(x, mx, vx, t);         else           gao(y, my, vy, t);         it1 = mx.end(), it2 = my.end();         it1--, it2--;         long long x1 = (*it1) * 1ll, x2 = (*it2) * 1ll;         long long ans = x1 * x2;         cout << ans << endl;       }     }     return 0;   }   