Problem1582--CF81 - B. Sequence Formatting

1582: CF81 - B. Sequence Formatting

[Creator : ]
Time Limit : 2.000 sec  Memory Limit : 256 MiB

Description

Polycarp is very careful. He even types numeric sequences carefully, unlike his classmates. If he sees a sequence without a space after the comma, with two spaces in a row, or when something else does not look neat, he rushes to correct it. For example, number sequence written like "1,2,3,...,10" will be corrected to "1,2,3,...,10".
In this task you are given a strings, which is composed by a concatination of terms, each of which may be:
  • a positive integer of an arbitrary length (leading zeroes are not allowed),
  • a "comma" symbol (","),
  • a "space" symbol (""),
  • "three dots" ("...", that is, exactly three points written one after another, also known as suspension points).
Polycarp wants to add and remove spaces in the stringsto ensure the following:
  • each comma is followed by exactly one space (if the comma is the last character in the string, this rule does not apply to it),
  • each "three dots" term is preceded by exactly one space (if the dots are at the beginning of the string, this rule does not apply to the term),
  • if two consecutive numbers were separated by spaces only (one or more), then exactly one of them should be left,
  • there should not be other spaces.
Automate Polycarp's work and write a program that will process the given string $s$.

Input

The input data contains a single string $s$. Its length is from 1 to 255 characters. The stringsdoes not begin and end with a space. Its content matches the description given above.

Output

Print the string $s$ after it is processed. Your program's output should beexactlythe same as the expected answer. It is permissible to end output line with a line-break character, and without it.

Sample 1 Input

1,2 ,3,...,     10

Sample 1 Output

1, 2, 3, ..., 10

Sample 2 Input

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

Sample 2 Output

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

Sample 3 Input

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

Sample 3 Output

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

HINT

CF81.

Source/Category