#!/usr/bin/python3
import heapq

class BIT:
	def __init__(self, n):
		self.n = n
		self.A = [0]*(n+1)
	def update(self, i, v):
		while i <= self.n:
			self.A[i] += v
			i += i&-i
	def query(self, i):
		v = 0
		while i:
			v += self.A[i]
			i -= i&-i
		return v

n = int(input())
P = [0]*n
A = [0]*n
S = ['']*n
T = ['']*n
Ps = set()
Pm = {}
for i in range(n):
	S[i], T[i], P[i], A[i] = input().split()
	P[i] = int(P[i])
	A[i] = int(A[i])
	Ps.add(P[i])
Ps = sorted(list(Ps))
np = 0
for p in Ps:
	np += 1
	Pm[p] = np
for i in range(n):
	P[i] = Pm[P[i]]
Bq = []
Sq = []
Bb = BIT(np)
Sb = BIT(np)

R = []
for i in range(n):
	if S[i][0] == 'b':
		if T[i][0] == 'n' or Sb.query(P[i]) >= A[i]:
			heapq.heappush(Bq, (-P[i], i, A[i]))
			Bb.update(P[i], A[i])
	else:
		if T[i][0] == 'n' or Bb.query(np) - Bb.query(P[i]-1) >= A[i]:
			heapq.heappush(Sq, (P[i], i, A[i]))
			Sb.update(P[i], A[i])
	while len(Bq) != 0 and len(Sq) != 0 and -Bq[0][0] >= Sq[0][0]:
		b = heapq.heappop(Bq)
		s = heapq.heappop(Sq)
		a = min(b[2], s[2])
		R.append((s[1]+1, b[1]+1, a))
		Bb.update(-b[0], -a)
		Sb.update(s[0], -a)
		if b[2] > a: heapq.heappush(Bq, (b[0], b[1], b[2]-a))
		if s[2] > a: heapq.heappush(Sq, (s[0], s[1], s[2]-a))

print(len(R))
for r in R:
	print(*r)
