func_code_string: #include <bits/stdc++.h>   using namespace std;   void reset(int& n, int first) { n = n & ~(1 << first); }   bool check(int n, int first) { return (bool)(n & (1 << first)); }   set<int> ax, ay;   multiset<int> bx, by;   set<int>::iterator l, r;   int main() {     int i, j, k, n, w, h;     while (scanf( %d%d%d , &w, &h, &n) == 3) {       ax.clear();       ay.clear();       bx.clear();       by.clear();       ax.insert(0);       ax.insert(h);       ay.insert(0);       ay.insert(w);       bx.insert(h);       by.insert(w);       for (i = 0; i < n; i++) {         char ch;         int v;         scanf( %c%c%d , &ch, &ch, &v);         if (ch ==  H ) {           r = ax.lower_bound(v);           l = --r;           r++;           bx.erase(bx.find(*r - *l));           ax.insert(v);           bx.insert(v - *l);           bx.insert(*r - v);         } else {           r = ay.lower_bound(v);           l = --r;           r++;           by.erase(by.find(*r - *l));           ay.insert(v);           by.insert(v - *l);           by.insert(*r - v);         }         long long ans = (long long)(*bx.rbegin()) * (*by.rbegin());         cout << ans << endl;       }     }   }   