printРабочее место участника

printЗадачи

1857. Соревнования

Ограничения: время – 1s/2s, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0) idea

Трактир "Залатанный барабан" известен тем, что каждый вечер в нем происходит драка. Сначала эти драки возникали случайно, но затем превратились в командные соревнования между представителями трех рас – людьми, гномами и троллями. Каждый вечер в трактире происходит несколько поединков, сначала каждый человек из первой команды сражается с каждым гномом из второй команды, затем с каждым троллем из третьей команды, затем каждый гном сражается с каждым троллем. Участники соревнований из одной команды между собой не сражаются. Например, если в первой команде 5 человек, во второй 3 гнома, а в третьей 1 тролль, то будет проведено `5*3+5*1+3*1\ =\ 23` поединка. По правилам соревнований количество человек в первой команде должно быть больше или равно количеству гномов во второй команде, а количество гномов – больше или равно количеству троллей, так как в Анк-Морпорке живет очень много людей, много гномов и мало троллей.
Напишите программу, которая определяет, сколько человек, гномов и троллей должно быть в командах, чтобы для проведения соревнования потребовалось ровно `N` поединков.
Формат ввода
Первая строка ввода содержит одно целое число `N` (`1\ ≤\ N\ ≤\ 100\ 000`) – требуемое количество поединков.
Формат вывода
Вывести все варианты количества участников в командах. Каждый вариант выводится на отдельной строке. Варианты вывести в порядке уменьшения количества человек в первой команде, а при совпадении – в порядке уменьшения количества гномов во второй команде.

Пример ввода

23

Пример вывода

23 1 0
11 1 1
7 2 1
5 3 1
loading