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

Задача . C. Исправление опечаток


Многие современные текстовые редакторы автоматически проверяют вводимый текст на наличие ошибок, а некоторые редакторы даже предлагают варианты исправления ошибок.

В этой задаче вам предлагается реализовать небольшую функциональность по исправлению двух типов опечаток в слове. Будем считать, что наличие трех или более одинаковых букв подряд является опечаткой (например, слово «helllo» записано с опечаткой). Кроме того, наличие пары одинаковых букв и непосредственно следом другой пары одинаковых букв тоже является опечаткой (например, слова «helloo» и «wwaatt» записаны с опечатками).

Напишите программу, которая удаляет из слова наименьшее количество букв так, чтобы слово не содержало описанных выше опечаток. Разрешается удалять буквы как с обоих концов слова, так и из его середины.

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

В единственной строке входных данных записано слово s длиной от 1 до 200000 символов. Заданное слово s состоит из строчных букв латинского алфавита.

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

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

Если решений несколько, выведите любое из них.

Примечание

Вторым допустимым ответом на тест из условия является вывод «heloo».


Примеры
Входные данныеВыходные данные
1 helloo
hello
2 woooooow
woow

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

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