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

Задача . Раздвоитель


Задача

Темы: Цикл while

Исполнитель “Раздвоитель” преобразует натуральные числа. У него есть две команды: “Вычесть 1” и “Разделить на 2”, первая команда уменьшает число на 1, вторая команда уменьшает число в два раза, если оно чётное, иначе происходит ошибка.

Дано два натуральных числа A и B (\(A>B\)). Напишите алгоритм для Раздвоителя, который преобразует число A в число B и при этом содержит минимальное число команд. Команды алгоритма нужно выводить по одной в строке, первая команда обозначается, как -1, вторая команда как :2.

Входные данные
Вводятся два натуральных числа A и B (по одному числу в строке).

Выходные данные
Выведите ответ на задачу.
 

 

Примеры
Входные данные Выходные данные
1 100
1
:2
:2
-1
:2
:2
:2
-1
:2

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

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w64330
Free Pascal8
C#2
Java5
Python1424
PascalABC1
Комментарий учителя