Задачі
Ланцюговий дріб
Ланцюговий дріб
Ланцюговий дріб, це вираз вигляду:
\includegraphics{https://static.e-olymp.com/content/a8/a80ced277fa542eaaff90f9afaecdf89e469ebd7.jpg}
У цьому виразі \textbf{a0} є цілим числом, а інші \textbf{a_n} - додатними цілими числами. Ланцюгові дроби цікаві тим, що з їх допомогою може бути записане довільне дійсне число. При цьому для раціональних чисел дріб буде кінцевим, а для ірраціональних - нескінченим.
Наприклад, для числа \textbf{9/4} представлення у вигляді ланцюгово дробу таке:\textbf{ 9/4 = 2 + 1/(3+1/1)}.
Але цей же дріб можна представити і так: \textbf{9/4 = 2 + 1/4}.
Ваша задача полягає у тому, щоб знайти мінімальне представлення у вигляді ланцюгового дробу для заданого раціонального \textbf{p/q}.
\InputFile
Перший рядок вхідного файлу містить два цілих числа: \textbf{p} и \textbf{q} (\textbf{1} <= \textbf{p}; \textbf{q} <= \textbf{10^3}).
\OutputFile
У першому рядку вихідного файлу виведіть число \textbf{n} елементів ланцюгового дробу, який дорівнює \textbf{p/q}. У другому рядку через пропуск виведіть числа \textbf{a_0}, \textbf{a_1}, ..., \textbf{a_n}.
Вхідні дані #1
9 4
Вихідні дані #1
2 2 4