Задача E. Пробелы в типографии

Автор:А. Кленин   Ограничение времени:2 сек
Входной файл:input.txt   Ограничение памяти:200 Мб
Выходной файл:output.txt  

Условие

В соответствии с типографскими требованиями расстановка знаков пробела в тексте подчиняется следующим правилам: один пробел ставится после знаков "." (точка), "," (запятая), "!", "?". Перед и между этими знаками пробел не ставится. Один пробел ставится после слова перед открывающейся скобкой и перед словом после закрывающейся скобки. Знак тире (обозначен символом "-") отделяется пробелами от окружающих слов с обеих сторон. Последовательности из двух и более пробелов, а также пробелы между соседними знаками препинания, в начале и в конце строки запрещены. Требуется изменить расстановку пробелов в данной строке в соответствии с типографскими правилами.

Формат входного файла

Входной файл содержит исходную строку. Строка состоит из латинских букв, перечисленных в условии знаков препинания и пробелов.

Формат выходного файла

Выходной файл должен содержать переформатированную строку.

Ограничения

Исходная строка имеет длину не более 255 символов.

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
This   is,a sam- -ple ( ( text)here
This is, a sam -- ple ((text) here

0.033s 0.009s 15