Подання квадратичною ірраціональністю
Відомо, що довільний скінчений чи періодичний ланцюговий дріб можна подати у вигляді раціонального дробу або у вигляді квадратичної ірраціональності .
Потрібно для заданого дробу отримати одне з таких поданнів.
Вхідні дані
У єдиному рядку вхідного файлу задається ланцюговий дріб у форматі [a_0, a_1, ..., a_{n−1}] (1 ≤ n ≤ 13), якщо він скінченний, або у форматі [a_0, ..., a_{p-1}, (a_p, ..., a_{p+l-1})] (p ≥ 0, l > 0, p+l ≤ 13), якщо він періодичниц (−5 ≤ a_{0 }≤ 5 при p > 0, 1 ≤ a_{i }≤ 5 для i > 0).
Вихідні дані
У єдиний рядок вихідного файлу необходіно вивести подання заданого ланцюгового дробу у вигляді раціонального a/с, де a та c цілі числа, c > 0, або у вигляді квадратичної ірраціональності (a+b*sqrt(N))/c (або (a-b*sqrt(N))/c), де a, b, c, N - цілі числа, а, b > 0, c > 0, N > 0. Якщо існуюють обидва подання, слід виводити раціональне. У вмпадку декількох можливих поданнів необхідно вибрати таке, у якого значення N було б мінімально можливим, а з них подання з мінімальним значенням c.