#P1457. Sequence Formatting

Sequence Formatting

题目描述

Polycarp 是个非常严谨的人,不像他的同班同学那样,他甚至仔细地键入数字序列。

如果他看到一个序列在逗号后面没有空格,或是一行有多个空格,或者当其他东西看起来不严谨时,他会立刻纠正它。

例如,如 1,2,3,...,10 所写的数字序列将被修正为 1, 2, 3, ..., 10

在这个任务中,你得到一个字符串 ssss 由术语的连词构成,每一个词可以是:

  1. 任意长度的正整数(不允许前导零),
  2. 逗号符号(,),
  3. 空格符号( ),
  4. “三点”(...),即一个接一个地写三个点,也称为 “暂停点”。

Polycarp 想添加并且删除字符串 ss 中多余的空格来满足以下要求:

  1. 每个逗号后面只有一个空格(若逗号是字符串中的最后一个字符,则此规则不适用于它);
  2. 每个 “三点” 前正好有一个空格(若三点在字符串的开头,则此规则不适用于它);
  3. 如果两个连续的数字仅由空格分隔,那么就应该只剩下一个空格,不应该有多余的空格。

现在请你编写一个程序帮助 Polycarp 完成对字符串 ss 的操作。

输入格式

输入数据包含一个字符串 ss,它由最少 11 个字符,最多 255255 个字符组成。ss 不会以一个空格开始或结束。它的内容与上面给出的描述相匹配。

输出格式

处理后的 ss。你的程序的输出应该和预期的答案完全一样。

输入数据 1

1,2 ,3,...,     10

输出数据 1

1, 2, 3, ..., 10

输入数据 2

1,,,4...5......6

输出数据 2

1, , , 4 ...5 ... ...6

输入数据 3

...,1,2,3,...

输出数据 3

..., 1, 2, 3, ...