kalendar — COCI CONTEST_#5
Task type: batch | Time limit: 1 s | Memory limit: 512 MB | Difficulty: 5
Algorithms: simulation, grid traversal, string

# Task Kalendar

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 7 is represented as '..7'.
- If the day number is double-digit, then it is represented as '.XY'. For example, the number 17 is represented as '.17'.

Each row of the calendar represents a week, and each week consists of 7 days. If
the week doesn't have all the 7 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 *n* days, and the first day of the month is the *x*-th day of the week. For example, if *x* = 1, the month starts on Monday, and if *x* = 5, it starts on Friday.

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

#### Input

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

#### Output

Print Magdalena's calendar.

#### Scoring

| Subtask | Points | Constraints                     |
|---------|--------|---------------------------------|
| 1       | 7      | All the days will fit in a row. |
| 2       | 19     | d = 1                           |
| 3       | 24     | No additional constraints.      |

![](_page_0_Picture_20.jpeg)

![](_page_1_Picture_0.jpeg)

#### Examples

| Input | Input | Input |
|---|---|---|
| 31 3 | 1 5 | 28 7 |
| Output | Output | Output |
| ```
+---------------------+
|.......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.......|
+---------------------+
``` | ```
+-------+
|.......1|
+-------+
``` | ```
+---------------------+
|.......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...|
+---------------------+
``` |

#### 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.

Starter code: