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
def edit(l):
	#print("edit %d %d %d %d" % (red,blue,red_card,blue_card))
	global red_card, blue_card
	return l[0], l[1]-red_card, l[2]-blue_card

def get():
	#print("get %d %d %d %d" % (red,blue,red_card,blue_card))
	global red, blue, count
	red += 1
	blue += 1
	count += 1

def buy(card):
	#print("buy %d %d %d %d" % (red,blue,red_card,blue_card))
	global red,blue, red_card, blue_card, count
	if card[0] == 'R':
		red -= card[1]
		blue -= card[2]
		red_card += 1
	elif card[0] == 'B':
		red -= card[1]
		blue -= card[2]
		blue_card += 1
	count += 1

n = int(input())
ori_cards = dict()
blue = 0
red = 0
red_card = 0
blue_card = 0
count = 0

for i in range(n):
	s, r, b = input().split()
	ori_cards[i+1] = [s, int(r), int(b)]

while (len(ori_cards) > 0):
	cards = {k:edit(v) for k,v in ori_cards.items()}
	sorted_dict = sorted(cards.items(), key=lambda x: x[1][1])
	pop_ind = sorted_dict[0][0]
	card = cards.pop(pop_ind)
	while(red < card[1] or blue < card[2]):
		get()
	buy(card)
	ori_cards.pop(pop_ind)
print(count)