PivotOJ

Kalendar

시간 제한: 1000ms메모리 제한: 1024MB출처: COCI 2022-2023BOJ 27908

문제

Magdalena likes calendars, and she makes her own calendar for each month.

Each day of the month is represented with exactly three characters:

  • If the day number is single-digit, then it is represented as '..X'. For example, the number 77 is represented as '..7'
  • If the day number is double-digit, then it is represented as '.XY'. For example, the number 1717 is represented as '.17'.

Each row of the calendar represents a week, and each week consists of 77 days. If the week doesn’t have all the 77 days (because the month doesn’t start on Monday, or it doesn’t end on Sunday), then the missing days are replaced with '...'.

Magdalena also wants her calendar to be pretty. She will decorate it in the following way: she will fill the upper and lower sides with '-' (ASCII 45), the left and right sides with '|' (ASCII 124), and the corners with '+' (ASCII 43).

For example, the format of Magdalena’s calendar, when the month has 31 days and starts on Wednesday, is the following:

+–––––––––––––––––––––+
|........1..2..3..4..5|
|..6..7..8..9.10.11.12|
|.13.14.15.16.17.18.19|
|.20.21.22.23.24.25.26|
|.27.28.29.30.31......|
+–––––––––––––––––––––+

Your task is to determine the format of Magdalena’s calendar if it has nn days, and the first day of the month is the xx-th day of the week. For example, if x=1x = 1, the month starts on Monday, and if x=5x = 5, it starts on Friday.

Note: We assume the first day of the week is Monday.

입력

The first and only line contains integers nn and dd (1 ≤ n ≤ 99, 1 ≤ d ≤ 7), the number of days in the month, and the day it starts with.

출력

Print Magdalena’s calendar.

힌트

Clarification of the second example: Note that, although there is only one day in the month, the calendar still has the format of seven days per row.

예제

예제 1

입력
31 3
출력
+---------------------+
|........1..2..3..4..5|
|..6..7..8..9.10.11.12|
|.13.14.15.16.17.18.19|
|.20.21.22.23.24.25.26|
|.27.28.29.30.31......|
+---------------------+

예제 2

입력
1 5
출력
+---------------------+
|..............1......|
+---------------------+

예제 3

입력
28 7
출력
+---------------------+
|....................1|
|..2..3..4..5..6..7..8|
|..9.10.11.12.13.14.15|
|.16.17.18.19.20.21.22|
|.23.24.25.26.27.28...|
+---------------------+
코드를 제출하려면 로그인하세요.