Паралелепіпеди (середні обмеження)
Перегляд у форматі PDFНапишіть програму, яка знаходитиме перелік прямокутних паралелепіпедів, що мають об'єм ~V~ та площу поверхні ~S~. Враховувати лише паралелепіпеди, в яких всі три розміри виражаються натуральними числами.
Вхідні дані
Єдиний рядок містить розділені одинарним пробілом два натуральні числа ~V~ ~S~, обидва у межах від 1 до ~10^6~ (мільйон).
Результати
Кожен рядок повинен містити розділені пробілами цілочисельні розміри ~a~ ~b~ ~c~ чергового паралелепіпеда. Ці трійки обов'язково виводити у порядку зростання першого розміру ~a~, при рівних ~a~ – у порядку зростання другого розміру ~b~ (а різних відповідей, в яких рівні і ~a~, і ~b~, не буває).
У випадку, якщо жодного паралелепіпеда з потрібними ~V~, ~S~ не існує, виводьте єдиний рядок 0 0 0.
Примітки
Якщо прямокутний паралелепіпед має розміри ~a~ ~b~ ~c~, то його об'єм дорівнює ~{a\cdot b\cdot c}~, а площа поверхні ~{2\cdot\bigl(a{\cdot}b}+{b{\cdot}c}+{c{\cdot}a}\bigr)~, бо є дві грані (наприклад, передня й задня) площі ~{a{\cdot}b}~, дві (наприклад, ліва та права) площі ~{b{\cdot}c}~ та дві (наприклад, верхня й нижня) площі ~{c{\cdot}a}~.
Гарантовано, що у кожному з тестів, що використовуються для оцінювання цієї задачі, кількість трійок-відповідей строго менша 100.
Приклади
Вхід
7 7
Результат
0 0 0
Вхід
6 22
Результат
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
Вхід
1 6
Результат
1 1 1
Вхід
1600 1120
Результат
4 20 20
5 8 40
5 40 8
8 5 40
8 40 5
20 4 20
20 20 4
40 5 8
40 8 5
Коментарі