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

Задача . F. Удаляем подстроки


Дана строка s, изначально состоящая из n строчных латинских букв. Над ней производятся k операций, где . В i-ю операцию необходимо удалить некоторую подстроку длиной ровно 2i - 1 из s.

Выведите лексикографически минимальную строку, которую возможно получить после выполнения k операций.

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

Единственная строка содержит строку s из n строчных латинских букв (1 ≤ n ≤ 5000).

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

Выведите лексикографически минимальную строку, которую можно получить после выполнения k операций.

Примечание

Возможные операции в примерах:

  1. adcbca adcba aba;
  2. abacabadabacaba abcabadabacaba aabadabacaba aabacaba.

Примеры
Входные данныеВыходные данные
1 adcbca
aba
2 abacabadabacaba
aabacaba

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

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