func_code_string: #include <bits/stdc++.h>   using namespace std;   int N;   char buf[20];   set<int> B, S, Q;   const int INF = 1e9;   inline int get_b() { return ((int)(B).size()) ? *B.rbegin() : -INF; }   inline int get_s() { return ((int)(S).size()) ? *S.begin() : INF; }   int main() {     scanf( %d , &N);     long long ans = 1;     const int MOD = 1e9 + 7;     for (int a = 0; a < N; a++) {       scanf( %s , buf);       int x;       scanf( %d , &x);       if (buf[1] ==  D ) {         int bv = get_b();         int sv = get_s();         if (bv < x && x < sv)           Q.insert(x);         else if (x < bv)           B.insert(x);         else           S.insert(x);       } else {         if (B.find(x) != B.end()) {           if (get_b() != x) ans = 0;           B.erase(x);           for (int e : Q) S.insert(e);           Q.clear();         } else if (S.find(x) != S.end()) {           if (get_s() != x) ans = 0;           S.erase(x);           for (int e : Q) B.insert(e);           Q.clear();         } else {           ans = (ans * 2) % MOD;           for (int e : Q) {             if (e < x)               B.insert(e);             else if (e > x)               S.insert(e);           }           Q.clear();         }       }     }     ans = ans * (int)(Q.size() + 1) % MOD;     printf( %lld n , ans);     return 0;   }   