#include <bits/stdc++.h>
using namespace std;
int inf = (int)1e9;
int n, nn, sumr, sumb, ir, ib, res, lim;
vector<int> r, b;
vector<char> c;
int dp[(1 << 16)][2][300];
void calc(int x) {
  ir = ib = 0;
  for (int i = 0; i < n; ++i)
    if ((x & (1 << i))) (c[i] == 'R' ? ++ir : ++ib);
}
int main() {
  ios_base::sync_with_stdio(false);
  cin >> n;
  nn = (1 << n);
  c.resize(n);
  r.resize(n);
  b.resize(n);
  sumr = 0;
  sumb = 0;
  for (int i = 0; i < n; ++i) {
    cin >> c[i] >> r[i] >> b[i];
    if (r[i] > n) {
      sumr += (r[i] - n);
      r[i] = n;
    }
    if (b[i] > n) {
      sumb += (b[i] - n);
      b[i] = n;
    }
  }
  lim = n * n;
  for (int i = 0; i < nn; ++i)
    for (int j = 0; j < 2; ++j)
      for (int k = 0; k < lim + 1; ++k) dp[i][j][k] = inf;
  dp[0][int(sumr > sumb)][min(abs(sumr - sumb), lim)] = max(sumr, sumb);
  for (int i = 0; i < nn; ++i) {
    calc(i);
    for (int j = 0; j < 2; ++j) {
      for (int l = 0; l < n; ++l) {
        if ((i & (1 << l))) continue;
        int ii = (i | (1 << l));
        int needr = max(r[l] - ir, 0);
        int needb = max(b[l] - ib, 0);
        for (int k = 0; k < n * n + 1; ++k) {
          int add = max(needr - (j == 0 ? k : 0), needb - (j == 1 ? k : 0));
          int jj = int((j == 1 ? k : 0) + add - needb > 0);
          int kk = min(k + add + add - needr - needb, lim);
          dp[ii][jj][kk] = min(dp[ii][jj][kk], dp[i][j][k] + add);
        }
      }
    }
  }
  res = inf;
  for (int j = 0; j < 2; ++j)
    for (int k = 0; k < lim + 1; ++k) res = min(res, dp[nn - 1][j][k]);
  cout << res + n << endl;
  return 0;
}
