#include <bits/stdc++.h>
using namespace std;
const int MOD = 1000000007;
int main() {
  cin.sync_with_stdio(0);
  cin.tie(0);
  int n;
  cin >> n;
  set<int> a;
  set<int> aMin;
  set<int> aMax;
  aMin.insert(-1000000000);
  aMax.insert(1000000000);
  long long res = 1;
  for (int i = 0; i < (int)(n); i++) {
    string s;
    int x;
    cin >> s >> x;
    if (s == "ADD") {
      a.insert(x);
    } else {
      if (x < *aMin.rbegin() || x > *aMax.begin()) {
        cout << 0;
        exit(0);
      }
      if (a.find(x) != a.end()) {
        res = (res * 2) % MOD;
      } else {
        if (x == *aMin.rbegin()) {
          aMin.erase(x);
        }
        if (x == *aMax.begin()) {
          aMax.erase(x);
        }
      }
      for (int y : a) {
        if (y < x) {
          aMin.insert(y);
        } else {
          if (y > x) {
            aMax.insert(y);
          }
        }
      }
      a.clear();
    }
  }
  int cnt = 0;
  for (int y : a) {
    if (y > *aMin.rbegin() && y < *aMax.begin()) {
      cnt++;
    }
  }
  cout << (res * (cnt + 1)) % MOD;
  return 0;
}
