#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
set<int> le, ri, md;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0), cout.tie(0);
  int n, flag = 1;
  long long ans = 1;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    string op;
    int p;
    cin >> op >> p;
    if (!flag) continue;
    if (op == string("ADD")) {
      if (!le.empty() && p < *(--le.end()))
        le.insert(p);
      else if (!ri.empty() && p > *(ri.begin()))
        ri.insert(p);
      else
        md.insert(p);
    } else {
      if (!le.empty() && p < *(--le.end())) flag = 0;
      if (!ri.empty() && p > *(ri.begin())) flag = 0;
      if (!flag) continue;
      auto it = md.begin();
      if (!le.empty() && p == *(--le.end())) {
        le.erase(--le.end());
        while (it != md.end()) ri.insert(*it), it = md.erase(it);
      } else if (!ri.empty() && p == *(ri.begin())) {
        ri.erase(ri.begin());
        while (it != md.end()) le.insert(*it), it = md.erase(it);
      } else {
        while (*it < p) le.insert(*it), it = md.erase(it);
        it = md.erase(it);
        while (it != md.end()) ri.insert(*it), it = md.erase(it);
        ans = (ans * 2) % mod;
      }
    }
  }
  if (!flag)
    cout << 0;
  else
    cout << ans * ((int)md.size() + 1) % mod;
  return 0;
}
