Олимпиадный тренинг

Задача . F. Исправь строку


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

После окончания форматирования получившаяся строка должна удовлетворять следующим требованиям:

  • строка не должна начинаться с пробела;
  • между любыми двумя соседними словами должен быть ровно один пробел;
  • непосредственно перед точкой или запятой должна стоять буква латинского алфавита, а непосредственно после точки или запятой — пробел, в том случае, если после этой точки или запятой еще есть слова. В противном случае эта точка или запятая — последний символ строки;
  • все буквы должны быть строчными, кроме всех первых букв в первых словах предложений, они должны быть прописными. Первое слово предложения — это первое слово строки и каждое такое слово, которое следует за точкой.

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

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

В единственной строке входных данных следует непустая строка s, состоящая из строчных и прописных букв латинского алфавита, пробелов, точек и запятых. Длина заданной строки не превышает 255. Гарантируется, что в заданной строке есть хотя бы один символ, отличный от пробела.

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

В первую строку выходных данных выведите исправленную строку, удовлетворяющую всем условиям форматирования.


Примеры
Входные данныеВыходные данные
1 hello ,i AM veRy GooD.Boris
Hello, i am very good. Boris
2 a. b, C .
A. B, c.

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя