만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

개학 첫날

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

요약
요일과 교시가 정해진 과목 최대 12개를 입력받아, 이름을 10자 칸에 줄바꿈하며 4x3 시간표 표로 출력합니다.
난이도

쉬움10점 중 3점

유형
구현, 문자열
정답자
아직 제출이 없습니다

문제

Vasya는 젊고 매우 유망한 안드로이드이다. 오늘은 그가 대학에서 맞는 첫날이다. Vasya는 학장실 근처 벽에 붙어 있는 전체 강좌 목록을 꼼꼼히 살펴보고 수강할 강좌를 골랐다. 이제 그는 자신만의 주간 시간표를 작성하려 한다. 그가 시간표를 만들도록 도와라.

입력

첫 줄에 Vasya가 수강할 강좌의 수 nn이 정수로 주어진다 (1≤n≤121 \le n \le 12). 이후 각 강좌는 두 줄로 설명된다.

강좌 설명의 첫 줄에는 강좌 이름이 주어진다. 이름은 최대 5개의 단어로 이루어지며, 단어는 정확히 한 칸의 공백으로 구분된다. 첫 단어 앞과 마지막 단어 뒤에는 공백이 없다. 단어는 대문자와 소문자 라틴 알파벳으로 이루어진다. 각 단어의 길이는 1 이상 10 이하이다.

강좌 설명의 둘째 줄에는 요일과 교시가 주어진다. 요일은 Tuesday, Thursday, Saturday 중 하나이다. 교시는 1 이상 4 이하의 정수이다. Vasya가 고른 강좌 중 같은 시간에 열리는 강좌는 없다.

출력

시간표를 4×34 \times 3 크기의 표로 출력한다. 첫 번째 열은 화요일, 두 번째 열은 목요일, 세 번째 열은 토요일이다. 행은 네 교시에 대응한다. 각 열의 너비는 10 글자이다. 행의 높이는 그 행에서 가장 높은 칸의 높이와 같다. 행의 모든 칸이 비어 있으면 행의 높이는 1 글자이다. 현재 줄에 단어가 들어갈 자리가 없으면 그 단어는 다음 줄에 출력한다. 칸의 글은 위쪽과 왼쪽 경계에 맞춰 정렬한다. 표는 - (ASCII 45), + (ASCII 43), | (ASCII 124) 문자로 그린다.

예제1

  1. 예제 1

    입력
    9
    Physics
    Thursday 3
    Maths
    Tuesday 1
    Chemistry
    Thursday 1
    Physical education
    Saturday 2
    Astronomy
    Saturday 4
    Urban geography
    Tuesday 4
    History
    Saturday 1
    Modeling
    Thursday 2
    Biology
    Thursday 4
    
    예상 출력
    +----------+----------+----------+
    |Maths     |Chemistry |History   |
    +----------+----------+----------+
    |          |Modeling  |Physical  |
    |          |          |education |
    +----------+----------+----------+
    |          |Physics   |          |
    +----------+----------+----------+
    |Urban     |Biology   |Astronomy |
    |geography |          |          |
    +----------+----------+----------+