printЗадачи заочного тура личного первенства

printC. Трансформация строки

Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Над строкой, состоящей из символов "a" и "b" разрешается производить следующие действия:
  • Если последним символом строки является символ "a", можно добавить к строке символ "b". Например, из строки "aaba" можно получить строку "aabab".
  • Можно удвоить строку, сцепив её саму с собой. Например, из строки "aab" можно получить строку "aabaab"
  • Можно заменить любое вхождение подстроки "aaa" на "b". Например, из строки "aaaaa" можно получить строку "aba".
  • Можно удалить любое вхождение подстроки "bb". Например, из строки "abbab" можно получить строку "aab".
Необходимо получить заданную строку из строки "a".
В первой строке ввода содержится строка из символов "a" и "b" длиной от 1 до 1000 символов.
В первой строке вывести сообщение "YES", если можно получить заданную строку, иначе вывести "NO". Для ответа "YES" в следующих строках вывести последовательность действий – по одному действию на строке. В строках с действиями 3 и 4 нужно указать также начальный индекс заменяемой (удаляемой) подстроки. Можно вывести любую возможную последовательность действий, приводящую к нужному результату, не обязательно самую короткую.

Пример ввода

aba

Вывод для примера

YES
2
2
2
1
3 2
3 4
4 4
loading