Паралелепіпеди (середні обмеження)

Перегляд у форматі PDF

Надіслати розв'язок

Бали: 3,00 (partial)
Time limit: 0.5s
Memory limit: 256M
Input: stdin
Output: stdout

Problem type

Напишіть програму, яка знаходитиме перелік прямокутних паралелепіпедів, що мають об'єм ~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

Коментарі

Please read the guidelines before commenting.


Ще немає коментарів.