#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:836777216")
using namespace std;
struct bi {
  int a[701];
  bi(int val = 0) {
    memset(a, 0, sizeof(a));
    a[700] = val;
  }
  void add(bi s) {
    int per = 0;
    for (int i = 700; i; i--) {
      a[i] += per;
      a[i] += s.a[i];
      per = a[i] / 10;
      a[i] %= 10;
    }
  }
  void pom() {
    int per = 0;
    for (int i = 700; i; i--) {
      per += a[i] * 2;
      a[i] = per % 10;
      per /= 10;
    }
  }
  void out() {
    int pos = 0;
    while (pos < 700 && !a[pos]) pos++;
    for (int i(pos); i < (701); i++) cout << a[i];
  }
};
bi x[2222];
string s[5555];
int v[5555];
int main() {
  x[0] = bi(1);
  for (int i(1); i < (2222); i++) x[i] = x[i - 1], x[i].pom();
  int n;
  cin >> n;
  for (int i(0); i < (n); i++) cin >> s[i] >> v[i];
  bi r;
  while (1) {
    int mx = -1;
    int pos;
    for (int i(0); i < (n); i++)
      if (s[i] == "sell" && v[i] > mx) mx = v[i], pos = i;
    if (mx == -1) break;
    for (int i = pos; i >= 0; i--) {
      if (s[i] == "win" && v[i] == mx) {
        for (int j(i); j < (pos + 1); j++) v[j] = -1;
        r.add(x[mx]);
        break;
      } else if (v[i] == -1)
        break;
    }
    if (v[pos] >= 0) v[pos] = -2;
  }
  r.out();
  return 0;
}
