보고서 복원

아직 제출이 없습니다시간 제한3초메모리 제한128 MB

문제

주말 저녁, John은 Mary에게 급한 매출 보고서를 보내 달라고 부탁했습니다. 휴가를 떠나기 직전이라 마음이 급했던 Mary는 매출 시트를 이메일에 그대로 복사해 붙여 넣고 전송한 뒤, 휴대폰을 끄고 2주 동안 연락이 닿지 않는 곳으로 떠났습니다.

John이 메일을 열어 보니 모든 공백이 사라져 있었습니다. 다행히 그는 보고서의 형식을 정확히 기억하고 있었습니다.

  • 첫 줄은 머리글로, 제품 코드 P1 P2 ... PN 뒤에 단어 Totals가 옵니다. 제품 번호는 1부터 N까지 연속입니다.
  • 그다음 줄들(마지막 줄 제외)은 각각 한 명의 판매자를 나타냅니다. 줄은 판매자 이름(알파벳으로만 이루어진 한 단어)으로 시작해, N개 제품의 판매 수량을 순서대로 나열하고, 마지막에 그 판매자의 행 합계(N개 수량의 합)로 끝납니다.
  • 마지막 줄은 표식 TP로 시작해, 각 제품의 총 판매량(모든 판매자에 대한 열 합계)을 나열하고, 끝에 총합계(열 합계들의 합)를 적습니다.

모든 수량은 음이 아닌 정수입니다. 0은 한 자리 0으로 적고, 양수에는 앞자리 0이 없습니다. 어떤 판매자 이름도 TP로 시작하지 않습니다.

공백이 사라졌기 때문에 같은 숫자열과 일치하는 보고서가 여러 개일 수 있습니다. John이 보고서를 복원하도록 도와주세요. 가능한 복원이 여럿이면 사전순으로 가장 작은 것을 출력합니다(정의는 출력 참고).

입력

첫 줄에는 보고서의 개수 C가 주어집니다. 각 보고서는 공백이 모두 제거된 상태로 연속된 줄에 주어집니다: 머리글 한 줄, 판매자마다 한 줄, 그리고 TP 줄.

제약:

  • $1 \le N \le 5$ (보고서당 제품 수);
  • 보고서당 판매자는 최대 4명;
  • 각 판매자 이름은 1~10자의 영문자(대소문자);
  • 각 판매자는 제품마다 1000 미만의 수량을 판매;
  • 어떤 판매자 이름도 TP로 시작하지 않음.

출력

각 보고서에 대해 원래의 각 줄을 한 줄씩, 항목을 공백 하나로 구분하여 출력하고 줄 끝에는 공백을 두지 않습니다. 보고서 사이에 빈 줄을 넣지 않습니다.

입력과 일치하는 복원이 여럿이면 사전순으로 가장 작은 것을 출력합니다. 두 후보 보고서를 비교하려면, 모든 정수를 읽는 순서대로 나열합니다 — 각 판매자 행은 N개의 수량과 그 뒤의 행 합계를 (주어진 판매자 순서로), 그다음 합계 행은 열 합계들과 마지막 총합계를 나열합니다. 이렇게 만든 두 정수 수열을 앞에서부터 원소별로 비교하여, 처음으로 달라지는 위치에서 값이 더 작은 보고서를 선택합니다.