Полікарп дуже уважний. Він навіть набирає числові послідовності обережно, на відміну від своїх однокласників. Якщо він бачить послідовність без пробілу після коми, з двома пробілами поспіль або з якоюсь іншою недбалістю, він одразу її виправляє. Наприклад, числова послідовність, записана як "1,2 ,3,..., 10", буде виправлена на "1, 2, 3, ..., 10".
У цьому завданні вам дано рядок , який складається з послідовних частин, кожна з яких може бути:
додатним цілим числом довільної довжини (без провідних нулів),
символом коми (","),
символом пробілу (" "),
трьома крапками ("...", тобто рівно три крапки підряд).
Полікарп хоче додати і видалити пробіли у рядку так, щоб:
після кожної коми стояв рівно один пробіл (якщо кома є останнім символом рядка, це правило не застосовується),
перед кожними "трьома крапками" стояв рівно один пробіл (якщо три крапки на початку рядка, це правило не застосовується),
якщо два послідовних числа були розділені лише пробілами (одним чи кількома), повинен залишитися рівно один пробіл,
інших пробілів немає.
Автоматизуйте роботу Полікарпа: напишіть програму, яка обробить заданий рядок .
Вхідні дані містять один рядок . Його довжина від до символів. Рядок не починається і не закінчується пробілом. Його вміст відповідає опису вище.
Виведіть оброблений рядок . Вивід вашої програми повинен точно збігатися з очікуваною відповіддю символ у символ. Вивід має завершуватися символом нового рядка.
Приклад 1