Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов.
заменить (v, w)
нашлось (v)
Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Редактор.
На выполнение Редактору дана следующая программа:
ПОКА нашлось(1111) или нашлось(222) или нашлось(33)
ЕСЛИ нашлось(1111)
ТО заменить(1111, 333)
ИНАЧЕ ЕСЛИ нашлось(222)
ТО заменить(222, 11)
ИНАЧЕ ЕСЛИ нашлось(33)
ТО заменить(33, 2)
КОНЕЦ ЕСЛИ
КОНЕЦ ЕСЛИ
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
На вход программе подана непустая строка из подряд идущих символов 1. Найдите количество вариантов конечной строки, которая может быть получена после выполнения приведенного алгоритма.
