주식 가격

시간 제한1초메모리 제한128 MB

문제

이 문제에서는 간단한 호가창(order book)에서 주식 가격이 어떻게 정해지는지 시뮬레이션합니다. 다음 세 가지 가격이 중요합니다.

  • 매도 호가(ask price): 현재 누군가가 한 주를 팔고자 하는 가장 낮은 가격입니다.
  • 매수 호가(bid price): 현재 누군가가 한 주를 사고자 하는 가장 높은 가격입니다.
  • 체결가(stock price): 가장 최근에 거래가 성사된 가격입니다.

매수 호가가 매도 호가보다 크거나 같아지면 거래가 성사됩니다. 매수 호가를 제시한 매수 주문과 매도 호가를 요구한 매도 주문이 짝지어지고, 매수 주문이나 매도 주문(또는 둘 다)이 완전히 체결될 때까지 매도 호가로 주식이 거래됩니다. 가장 높은 매수 호가가 가장 낮은 매도 호가 이상인 동안 이러한 체결은 계속 반복됩니다. 매수 또는 매도 주문이 순서대로 주어질 때, 각 주문을 처리한 뒤의 매도 호가, 매수 호가, 체결가를 구하세요.

입력

첫째 줄에 테스트 케이스의 개수를 나타내는 양의 정수가 주어집니다(최대 $100$). 각 테스트 케이스는 다음과 같이 주어집니다.

  • 한 줄에 정수 $n$ ($1 \le n \le 1000$): 주문의 개수입니다.
  • 이어서 $n$개의 줄에 각각 buy x shares at y 또는 sell x shares at y 형식의 주문이 주어집니다. buy는 매수, sell은 매도를 뜻하며, $x$ ($1 \le x \le 1000$)는 주식의 수량, $y$ ($1 \le y \le 1000$)는 희망 가격입니다.

출력

각 테스트 케이스마다 $n$개의 줄을 출력합니다. $i$번째 줄에는 $i$번째 주문을 처리하고 가능한 모든 거래를 마친 뒤의 매도 호가, 매수 호가, 체결가를 공백 하나로 구분하여 a b s 형식으로 출력합니다. 어떤 가격이 정의되지 않았다면 그 자리에 -를 출력합니다. 각 테스트 케이스는 세 가격이 모두 정의되지 않은 상태에서 시작합니다.