Emil tem um número x e quer transformá-lo noutro número y. Para isso, pode realizar as seguintes operações:
Incrementar o número atual x em 1 (x = x + 1), pagando 1 unidade de dinheiro.
Reduzir o número atual x em 1 (se x for maior que 0) (x = x - 1), pagando 1 unidade de dinheiro.
Multiplicar x por qualquer inteiro positivo k (x = k ⋅ x), pagando 2k unidades de dinheiro.
Dividir x por qualquer inteiro positivo k (se x for divisível por k) (x = x / k), pagando 2k unidades de dinheiro.
Escreva um programa para determinar a menor quantia de dinheiro necessária para transformar x em y. É preciso também imprimir as operações na ordem em que devem ser realizadas. Caso existam várias formas de obter esse custo mínimo, pode apresentar qualquer uma delas. Além disso, não é obrigatório minimizar o número de operações.
Entrada
A entrada consiste em dois inteiros x e y (1 ≤ x, y ≤ 10 000), que representam o número inicial de Emil e o número desejado.
Saída
A primeira linha da saída deve conter dois inteiros separados por espaço, m e n, que representam o número de operações e a quantia mínima de dinheiro necessária para transformar x em y.
Nas m linhas seguintes, imprima o índice da operação, , na ordem em que devem ser realizadas. Se a operação for Multiplicar ou Dividir ( ou ), imprima o índice da operação seguido de um espaço e do número .