#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 7, mod = 1e9 + 7;
set<long long> b, s, t;
int main() {
  int n;
  long long ans = 1;
  scanf("%d", &n);
  while (n--) {
    long long p;
    char ch[10];
    scanf("%s%lld", ch, &p);
    if (ch[1] == 'D') {
      if (!b.empty() && p <= *b.rbegin()) {
        b.insert(p);
      } else if (!s.empty() && p >= *s.begin()) {
        s.insert(p);
      } else {
        t.insert(p);
      }
    } else {
      if (t.find(p) != t.end()) {
        ans = (ans << 1) % mod;
      } else {
        if ((b.empty() || *b.rbegin() != p) && (s.empty() || *s.begin() != p)) {
          puts("0");
          return 0;
        } else if (!b.empty() && *b.rbegin() == p) {
          b.erase(p);
        } else {
          s.erase(p);
        }
      }
      while (!t.empty() && *t.begin() < p) {
        b.insert(*t.begin());
        t.erase(t.begin());
      }
      t.erase(p);
      while (!t.empty()) {
        s.insert(*t.begin());
        t.erase(t.begin());
      }
    }
  }
  printf("%lld\n", ans * (t.size() + 1) % mod);
  return 0;
}
