#A34. ⌈Alvin OI Round 1⌋ 音乐课

⌈Alvin OI Round 1⌋ 音乐课

题目背景

Alvin 在上音乐课,音乐课好无聊啊……

题目描述

Alvin 有一首长度为 nn 的曲子,其中的每个音符都是一个字符串。比如 5 就是中音 sol3- 就是低音 mi4+ 就是高音 fa同一个音符可以携带多个加减号,但保证只会携带一种。

现在,老师要求 Alvin 画出这首曲子对应的图。图就是一个二维平面,需要保证在包括所有七个中音的情况下图的横排数量最少。音高高的在上,低的在下。这一行对应的音要标在这一行的开头,后面用空格补满 77 个字符。

这个图除去最右边六个字符外每一列是一个音,有音的地方用小写字母 o 表示,否则用一个点 . 表示。

稍微有些抽象,下面给出一个示范:

7      ...............
6      ...............
5      ...oo..........
4      ..o..o.........
3      oo....o....oo..
2      .......o..o..oo
1      ........oo.....

对应的曲子就是 3 3 4 5 5 4 3 2 1 1 2 3 3 2 2,即《欢乐颂》。

这个任务对于很懒的 Alvin 来说实在太难了,所以他想请你帮忙。

输入格式

第一行一个正整数 nn,表示音符数。

第二行一共 nn 个音符。

输出格式

这首曲子对应的图。

输入输出样例

3
1+ 7- 2+
2+     ..o
1+     o..
7      ...
6      ...
5      ...
4      ...
3      ...
2      ...
1      ...
7-     .o.

数据范围

对于 30%30\% 的数据,保证只会出现中音范围内的音符。

对于 100%100\% 的数据,保证 1n5×1051 \le n \le 5 \times 10^5 且每个音符只会有加减号之一(加减号最多四个,即从1----7++++)。