B. Форматирование последовательности
ограничение по времени на тест
2 seconds
ограничение по памяти на тест
256 megabytes
ввод
stdin
вывод
stdout

Поликарп очень аккуратен. Даже числовые последовательности он набирает аккуратно, не то что его одноклассники. Если он видит последовательность, в которой нет пробела после запятой, стоят два пробела подряд или присутствует еще какая-либо неаккуратность, он тут же начинает ее исправлять. Например, запись «1,2 ,3,...,   10» он исправит на «1, 2, 3, ..., 10».

В этой задаче задана строка s, которая составлена последовательной записью частей, каждая из которых может быть:

  • положительным целым числом произвольной длины (лидирующие нули недопустимы),
  • символом «запятая» («,»),
  • символом «пробел» (« »),
  • многоточием («...» — т.е. тремя точками, записанными подряд).

Поликарп хочет добавлением и удалением пробелов в строке s добиться того, чтобы:

  • после каждой запятой шел ровно один пробел (если запятая является последним символом строки, то это правило к ней не применимо),
  • перед каждым многоточием был ровно один пробел (если многоточие начинает строку, то это правило к нему не применимо),
  • если два подряд идущих числа разделялись исключительно пробелами (одним или более), то следует оставить ровно один из них,
  • других пробелов быть не должно.

Автоматизируйте труд Поликарпа — напишите программу, которая будет обрабатывать заданную строку s.

Входные данные

Входные данные содержат единственную строку s. Ее длина — от 1 до 255 символов. Строка s не начинается и не заканчивается пробелом. Ее содержимое соответствует описанию, данному выше.

Выходные данные

Выведите строку s после обработки. Вывод вашей программы должен посимвольно совпадать с ожидаемым ответом. Вывод строки допустимо заканчивать как с заключительным переводом строки, так и без него.

Примеры
Входные данные
1,2 ,3,...,     10
Выходные данные
1, 2, 3, ..., 10
Входные данные
1,,,4...5......6
Выходные данные
1, , , 4 ...5 ... ...6
Входные данные
...,1,2,3,...
Выходные данные
..., 1, 2, 3, ...