Multiplique por 2, divida por 6
Você recebe um número inteiro $$n$$. Em um movimento, você pode multiplicar $$n$$ por $$2$$ ou dividir $$n$$ por $$6$$ , se $$n$$ for múltiplo de $$6$$. Sua tarefa é encontrar o número mínimo de movimentos necessários para obter $$1$$ a partir de $$n$$ ou determinar se é impossível fazer isso. Você precisa responder a casos de teste independentes.
Entrada:
A primeira linha da entrada contém um número inteiro $$t$$, o número de casos de teste. Em seguida, seguem os $$t$$ casos de teste. A única linha de cada caso de teste contém um número inteiro $$n$$.
Saída:
Para cada caso de teste, imprima o número mínimo de movimentos necessários para obter $$1$$ a partir de $$n$$ se for possível fazer isso ou $$-1$$ se for impossível obter $$1$$ de $$n$$.
Restrições:
- $$1 \leq t \leq 2*10^4$$
- $$1 \leq n \leq 10^9$$
Exemplos:
| Entrada | Saida |
7 1 2 3 12 12345 15116544 387420489 |
0 -1 2 -1 -1 12 36 |
Nota:
Considere o sexto caso de teste do exemplo. A resposta pode ser obtida pela seguinte sequência de movimentos do número inteiro fornecido $$n = 15116544$$:
- Divida por $$6$$ e obtenha $$2519424$$;
- divida por $$6$$ e obtenha $$419904$$;
- divida por $$6$$ e obtenha $$69984$$;
- divida por $$6$$ e obtenha $$11664$$;
- multiplique por $$2$$ e obtenha $$23328$$;
- divida por $$6$$ e obtenha $$3888$$;
- divida por $$6$$ e obtenha $$648$$;
- divida por $$6$$ e obtenha $$108$$;
- multiplique por $$2$$ e obtenha $$216$$;
- divida por $$6$$ e obtenha $$36$$;
- divida por $$6$$ e obtenha $$6$$;
- divida por $$6$$ e obtenha $$1$$.
