\begin{problem}{Калькулятор}{calcul.in}{calcul.out}{1 секунда}{64 мегабайта}

Имеется калькулятор, который выполняет следующие операции:

\begin{itemize}
  \item Умножить число $X$ на $2$.
  \item Умножить число $X$ на $3$.
  \item Прибавить к числу $X$ единицу.
\end{itemize}

Определите, какое наименьшее количество операций требуется, чтобы получить из числа $1$ число $N$.

\InputFile

Во входном файле написано натуральное число $N$, не превосходящее $10^6$.

\OutputFile

В первой строке выходного файла выведите минимальное количество операций.
Во второй строке выведите числа, последовательно получающиеся при выполнении операций.
Первое из них должно быть равно $1$, а последнее $N$.

\Examples

\begin{example}
\exmp{
1
}{
0
1
}%
\exmp{
5
}{
3
1 3 4 5
}%
\exmp{
962340
}{
17
1 3 9 27 54 55 165 495 1485 4455 8910 17820 17821 53463 160389 160390 481170 962340 }%
\end{example}

\end{problem}
