Задание №23 — Поиск количества программ

К списку заданий
#69682Задание №23ФИПИ
Анализ алгоритмов и исполнители

Исполнитель преобразует число на экране. У исполнителя есть две команды, которым обозначены латинскими буквами: 
1) Вычти 1 
2) Найди целую часть от деления на 2
Первая из них уменьшает число на экране на 1, вторая заменяет число на экране на число, равное целой части от деления числа на экране на 2. Программа для исполнителя — это последовательность команд. Сколько существует программ, которые преобразуют исходное число 31 в число 2, причём траектория вычислений программы содержит число 12? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.
Например, для программы ABA при исходном числе 18 траектория будет состоять из чисел 17, 8, 7.