Вы по-прежнему работаете под руководством д.б.н., проф. О.Б. Ломова и изучаете интеллект
обезьян. Ваши подопечные уже очень далеко ушли от столь элементарной задачи, как сбор квадрата.
Теперь вы работаете над тем, чтобы обучить их намного более сложной задаче. Вы по-прежнему даёте
обезьянам набор из \(N\) палочек, но на этот раз вы хотите, чтобы они собрали из этих палочек
треугольник.
Конечно, решить эту задачу в элементарном варианте — выбрать три палочки и собрать
из них треугольник — ваши подопечные могут без каких-либо проблем; вы же хотите их обучить,
чтобы они собирали один большой треугольник из всех выданных им палочек сразу. Таким
образом, они должны разбить палочки на три группы так, чтобы, сложив палочки каждой группы
в один большой отрезок, получить три отрезка, из которых можно собрать треугольник. Полученный
треугольник должен быть невырожденным, т.е. его площадь должна быть строго больше нуля.
Как и в прошлый раз, вам понадобилась программа, которая определит, разрешима ли задача для данного
набора палочек.
Выходные данные
Если решения не существует, то в первую строку выходного файла выведите одно слово “no
”
(без кавычек). В противном случае в первую строку выведите одно слово “yes
”, а в
следующие три строки выведите какой-нибудь способ собрать треугольник из данных палочек. Каждая
из этих трёх строк должна описывать очередную сторону получающегося треугольника: в каждой строке
сначала должно идти количество палочек, из которых состоит эта сторона, а потом длины этих палочек.
Каждую палочку, конечно, можно использовать только один раз.
Если есть несколько способов собрать треугольник из данных палочек, выведите любой.