C. Markdown表格
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Markdown 是一种轻量级的文本格式,它可以很容易转换HTML,其中表格的语法规则如下:

  1. 使用'|'表示表格列的间隔
  2. 第一行是表头,表头内容为居中对齐
  3. 第二行是表单元格对齐方式,每列单元格的对齐方式,使用若干个'-'组成的一条分割线和':'表示
    • 如果只有分割线,或者在分割线左右都有':',那么为居中对齐;
    • 只有分割线之前有':',那么靠左对齐;
    • 只有分割线之后有':',那么靠右对齐。
  4. 以后的行,每行为一行的单元格

根据Markdown,请按如下格式转换成文本表格:

  1. '-'表示横线,'|'表示竖线,'+'表示横竖线的交点
  2. 列宽为当前列最长字符串长度+2
  3. 表头的上下都有行线,表单元格只有最后一行有行线
  4. 对齐方式的输出规则如下:
    • 靠左对齐,字符串左端距离边线1个空格;
    • 居中对齐,字符串距离边线左和右空格数的差不超过1,且左边空格数小于等于右边空格数。
    • 靠右对齐,字符串右端距离边线1个空格;

比如

Name|English |  Math | Data Structure  | Total
---- | :-----: | ---: | :-- | :--
Alice| 100 | 85 | 75 | 260
Bob | 85 | 100 | 85 | 270
+-------+---------+------+----------------+-------+
| Name | English | Math | Data Structure | Total |
+-------+---------+------+----------------+-------+
| Alice | 100 | 85 | 75 | 260 |
| Bob | 85 | 100 | 85 | 270 |
+-------+---------+------+----------------+-------+
Input

只含单一样例。 输入保证没有错误的数据,表格单元格至少有一行。 每行字符串的长度不超过200,表头与单元格字符串只含英文字母、数字、空格。 输入保证单元格的行、列数都不超过10。

Output

按要求输出文本表格,行首尾无空格,也不要有空行。

Example
Input
Name|Math | C Prog | Total
---- | :-----: | ---: | :--
Alice| 100 | 75 | 175
Bob | 85|99 |184
Output
+-------+------+--------+-------+
| Name  | Math | C Prog | Total |
+-------+------+--------+-------+
| Alice | 100  |     75 | 175   |
|  Bob  |  85  |     99 | 184   |
+-------+------+--------+-------+