#P16516. [NEERC2007 Northern]K'ak'-u-pakal

[NEERC2007 Northern]K'ak'-u-pakal

题目背景

科学家重新发现古代玛雅城市后,找到了大量用未知文字写成的文本。上图展示的是玛雅城市奇琴伊察的一名军事首领兼祭司 K'ak'-u-pakal 的名字。

玛雅象形文字并不是单独的图符,而是由多个基本字形按照相对位置组合而成。所有已知字形都用 1199999999 的整数编号。

题目描述

为了用纯文本描述字形之间的相对位置,定义了如下编码语言。

形式文法为:

<inscription>      -> <glyph id>
                    | '(' <block> '.' <horizontal group> ')'
                    | '(' <block> ':' <vertical group> ')'

<horizontal group> -> <block> [ '.' <horizontal group> ]
<vertical group>   -> <block> [ ':' <vertical group> ]
<block>            -> <inscription> | '[' <inscription> ']'

其中:

  • . 表示将若干块水平排列;
  • : 表示将若干块竖直排列;
  • 方括号包围的块是所在组合中的特殊块;
  • 每个组合中至多有一个方括号块。

例如,K'ak'-u-pakal 的象形文字可编码为:

((669:604).(586:(27:[(534.534)])))

你需要根据给定编码,输出对应的字符画布局。

布局规则

输出只能由以下字符组成:

  • +-|、空格;
  • 数字 09
  • 换行符。

每个块用矩形边框表示,并满足:

  1. 同一个水平组合中的普通块必须具有完全相同的宽和高;
  2. 其中被方括号包围的块必须恰好是其他普通块的两倍宽;
  3. 同一个竖直组合中的普通块必须具有完全相同的宽和高;
  4. 其中被方括号包围的块必须恰好是其他普通块的两倍高;
  5. 字形编号前后各留一个空格,并放置在对应块的左上角;
  6. 输出必须尽可能短。

题目保证每个测试都存在合法布局,并且某个最短合法输出不超过 100000100000 字节。

输入格式

输入一行不含空格的字符串,为合法的玛雅象形文字编码。

输出格式

按照上述规则输出最短的字符画布局。

样例

输入

((669:604).(586:(27:[(534.534)])))

输出

+-----------+-----------+
| 669       | 586       |
|           |           |
|           |           |
|           |           |
|           |           |
+-----------+-----------+
| 604       | 27        |
|           +-----+-----+
|           | 534 | 534 |
|           |     |     |
|           |     |     |
+-----------+-----+-----+

数据范围

  • 输入字符串不含空格;
  • 输入长度不超过 255255
  • 字形编号范围为 199991\sim 9999
  • 输出长度不超过 100000100000 字节。