# 题目：正视立体字符画

有一个 `n × m` 的方格平面。第 `i` 行第 `j` 列竖直堆放了 `a[i][j]` 个 `1 × 1 × 1` 的小方块。

特别地：

- 输入中的第 `1` 行表示**最后面**的一排；
- 输入中的第 `n` 行表示**最前面**的一排；
- 第 `1` 列到第 `m` 列按照**从左到右**给出。

现在要把这堆小方块画成字符画。

## 单个小方块

一个单独的小方块画成下面这个样子。为便于描述，这里用 `.` 表示“透明背景”，真正输出时这些 `.` 不会输出：

```text
..+-+
./ /|
+-+ +
| |/.
+-+..
```

把 `.` 去掉以后，看到的就是：

```text
  +-+
 / /|
+-+ +
| |/
+-+
```

## 整体图形的精确定义

为了避免歧义，整张图按如下规则生成。

设 `H = max(a[i][j])`。

对每一个小方块 `(i, j, k)`：

- `i`：所在排，`1 ≤ i ≤ n`，并且 `1` 是最后面、`n` 是最前面；
- `j`：所在列，`1 ≤ j ≤ m`，从左到右；
- `k`：这一格中从下往上数的第 `k` 个方块，`1 ≤ k ≤ a[i][j]`。

把上面的 `5 × 5` 模板左上角放到画布坐标：

- 行号：`2 × (H - k + i - 1)`
- 列号：`2 × (j - 1 + n - i)`

然后按如下顺序依次“涂”到画布上：

1. 按 `i = 1..n`（从后到前）
2. 对每个 `i`，按 `j = 1..m`（从左到右）
3. 对每个 `(i, j)`，按 `k = 1..a[i][j]`（从下到上）

涂图时：

- 模板中的 `.` 是透明的，不覆盖原来的字符；
- 模板中的其他字符（包括空格）都会覆盖原来的字符。

全部涂完以后：

- 把画布里剩余的 `.` 全部看成空格；
- 每一行行末多余空格删去；
- 按从上到下顺序输出整幅图。

## 输入格式

第一行两个整数 `n, m`。

接下来 `n` 行，每行 `m` 个整数，第 `i` 行第 `j` 个整数为 `a[i][j]`。

## 输出格式

输出题目要求的字符画。

## 数据范围

- `1 ≤ n, m ≤ 50`
- `0 ≤ a[i][j] ≤ 50`
- 至少存在一个位置满足 `a[i][j] > 0`

## 样例 1

### 输入

```text
1 1
1
```

### 输出

```text
  +-+
 / /|
+-+ +
| |/
+-+
```

## 样例 2

### 输入

```text
3 3
1 2 3
2 3 1
3 0 2
```

### 输出

```text
          +-+
         / /|
      +-+-+ +
     / /| |/|
  +-+-+ +-+ +
 / /| |/| |/|
+-+ +-+-+-+ +
| |/|/ /|/|/
+-+ +-+ + +
| |/| |/|/
+-+ +-+ +
| |/| |/
+-+ +-+
```
