Одним із завдань, які студенти регулярно виконують на уроках математики, є розв'язання поліноміального рівняння. Наприклад, маючи поліном X^2 - 4X + 1, потрібно знайти його корені (2 \pm \sqrt{3}).
Якщо завдання студентів полягає в тому, щоб знайти корені заданого полінома, то завдання вчителя полягає в тому, щоб знайти поліном, який має заданий корінь. Пані Гальсоне - захоплена вчителька математики, яка втомилася від пошуку розв'язків квадратних рівнянь, які є такими простими, як a + b. Вона хотіла створити рівняння вищого ступеня, розв'язки яких є трохи складнішими. Як зазвичай у задачах на уроках математики, вона хоче зберегти всі коефіцієнти цілими числами і зберегти ступінь полінома якомога меншим (за умови, що він має заданий корінь). Будь ласка, допоможіть їй, написавши програму, яка виконує завдання з боку вчителя.
Вам дано число у вигляді:
де і - різні прості числа, а і - цілі числа, більші за .
У цій задачі вам потрібно знайти мінімальний поліном на цілих числах для , який є поліномом
що задовольняє наступні умови.
Коефіцієнти a_0, ..., a_d є цілими числами і a_d > 0.
F(t) = 0.
Ступінь є мінімальним серед поліномів, що задовольняють дві попередні умови.
є примітивним. Тобто, коефіцієнти a_0, ..., a_d не мають спільних дільників, більших за один.
Наприклад, мінімальний поліном для \sqrt{2} + \sqrt{3} на цілих числах - це F(X) = X^4-10X^2+1. Перевірка F(t) = 0 є такою ж простою, як і наступна (\alpha = \sqrt{3}, \beta = \sqrt{2}).
Перевірка того, що ступінь є насправді мінімальним, є трохи складнішою. На щастя, за умовою, даною в цій задачі, а саме, що і - різні прості числа, а і більші за один, ступінь мінімального полінома завжди дорівнює . Більше того, він завжди є монічним. Тобто, коефіцієнт його найвищого степеня (a_d) дорівнює одиниці.
Вхід складається з кількох наборів даних, кожен у наступному форматі.
Цей рядок представляє \sqrt[m]{a} + \sqrt[n]{b}. Останній набір даних супроводжується одним рядком, що складається з чотирьох нулів. Числа в одному рядку розділені одним пробілом.
Кожен набір даних задовольняє наступні умови.
m + n \le 4.
mn \le 20.
Коефіцієнти відповіді a_0, ..., a_d знаходяться в межах від (-2^{31} + 1) до (2^{31} - 1), включно.
Для кожного набору даних виведіть коефіцієнти його мінімального полінома на цілих числах
у наступному форматі.
Ненегативні цілі числа повинні бути надруковані без знака (+ або -). Числа в одному рядку повинні бути розділені одним пробілом, і жодні інші символи або зайві пробіли не повинні з'являтися у виході.
Приклад 1