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

Задача . B. Никита и строка


Задача

Темы: дп Перебор *1500

Однажды Никита нашел строку, состоящую только из символов «a» и «b».

Никита считает, что строка красивая, если её можно разрезать на 3 строки (возможно, нулевой длины) так, что, не меняя порядок, 1-я и 3-я состоят только из букв «a», а 2-я только из букв «b».

Никита хочет сделать строку красивой, выкинув из нее некоторые символы (или не выкидывая их вовсе), но не меняя их порядок. Какой наибольшей длины строку он сможет получить?

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

В первой строке содержится непустая строка, длиной не более 5 000, состоящая только из строчных букв латинского алфавита «a» и «b».

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

Выведете одно число — максимально возможную длину получившейся красивой строки.

Примечание

В первом примере строка уже красивая.

Во втором примере нужно убрать одну из букв «b», чтобы строка стала красивой.


Примеры
Входные данныеВыходные данные
1 abba
4
2 bab
2

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

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