One day, Hongcow goes to the store and sees a brand new deck of *n* special cards. Each individual card is either red or blue. He decides he wants to buy them immediately. To do this, he needs to play a game with the owner of the store.

This game takes some number of turns to complete. On a turn, Hongcow may do one of two things: 
 -  Collect tokens. Hongcow collects 1 red token and 1 blue token by choosing this option (thus, 2 tokens in total per one operation). -  Buy a card. Hongcow chooses some card and spends tokens to purchase it as specified below. 
The *i*-th card requires *r*<sub class="lower-index">*i*</sub> red resources and *b*<sub class="lower-index">*i*</sub> blue resources. Suppose Hongcow currently has *A* red cards and *B* blue cards. Then, the *i*-th card will require Hongcow to spend *max*(*r*<sub class="lower-index">*i*</sub> - *A*, 0) red tokens, and *max*(*b*<sub class="lower-index">*i*</sub> - *B*, 0) blue tokens. Note, only tokens disappear, but the cards stay with Hongcow forever. Each card can be bought only once.

Given a description of the cards and their costs determine the minimum number of turns Hongcow needs to purchase all cards.
The first line of input will contain a single integer *n* (1 ≤ *n* ≤ 16).

The next *n* lines of input will contain three tokens *c*<sub class="lower-index">*i*</sub>, *r*<sub class="lower-index">*i*</sub> and *b*<sub class="lower-index">*i*</sub>. *c*<sub class="lower-index">*i*</sub> will be 'R' or 'B', denoting the color of the card as red or blue. *r*<sub class="lower-index">*i*</sub> will be an integer denoting the amount of red resources required to obtain the card, and *b*<sub class="lower-index">*i*</sub> will be an integer denoting the amount of blue resources required to obtain the card (0 ≤ *r*<sub class="lower-index">*i*</sub>, *b*<sub class="lower-index">*i*</sub> ≤ 10<sup class="upper-index">7</sup>).
For the first sample, Hongcow's four moves are as follows: 
 1.  Collect tokens 1.  Buy card 1 1.  Buy card 2 1.  Buy card 3 
For the second sample, one optimal strategy is as follows: 
 1.  Collect tokens 1.  Collect tokens 1.  Buy card 2 1.  Collect tokens 1.  Buy card 3 1.  Buy card 1
import random
import time
from sys import exit
from math import exp
import copy

n = int(input())
cards = []
for i in range(n):
	cards.append(list(input().split()))
for i in range(1, n):
	r = random.randint(0, i-1)
	cards[i],cards[r] = cards[r],cards[i]

def evaluate():
    ret,a,b = 0,0,0
    for i in range(n):
        need = max(int(cards[i][1])-a, int(cards[i][2])-b)
        need = max(need,0)
        ret += need+1
        if cards[i][0] == 'R':
            a += 1
        else:
            b += 1
    return ret

T,ans = 1000,10**9
start_time = time.time()
while True:
	if time.time()-start_time > 1.9:
		print(ans)
		exit(0)
	now = evaluate()
	ans = min(ans,now)
	cards_copy = copy.copy(cards)
	for _ in range(round(n*T/1000)):
		r1 = random.randint(0, n-1)
		r2 = random.randint(0, n-1)
		cards[r1],cards[r2] = cards[r2],cards[r1]
	chance = evaluate()
	ans = min(ans,chance)
	if chance < now:
		now = chance
	else:
		prob = exp((now-chance)/T)
		if random.uniform(0.0, 1.0) <= prob:
			now = chance
		else:
			cards = copy.copy(cards_copy)
	T *= 0.9999
print(ans)

