Задача B. Разрезание многогранника

Автор:А. Баранов   Ограничение времени:1 сек
Входной файл:input.txt   Ограничение памяти:512 Мб
Выходной файл:output.txt  
Максимальный балл:100  

Условие

Пусть имеется выпуклый многогранник и две плоскости, каждая из которых задается ортогональным к ней вектором U⃗k.

Известно, что плоскость можно сдвигать относительно начала координат
путем смещения всех составляющих ее точек на вектор S⃗k = tk ⋅ U⃗k|U⃗k|, где tk — произвольный скалярный параметр.

Требуется расположить указанные плоскости таким образом,
чтобы они разбивали исходный многогранник ровно на три части одинакового объема.

Формат входного файла

В начале входного файла "input.txt" записано число N, за которым следует 3 × N вещественных координат вершин.

Далее указано число M, за которым следует M граней, записанных в следующем виде.

Вначале для каждой грани указано число ее вершин, за которым следуют их индексы,
перечисленные в порядке их обхода для получения ограничивающего цикла грани.
При этом полагается, что нумерация вершин начинается с нуля.

В окончании входного файла записаны компоненты векторов, задающих плоскости
(сначала для 1-го, а затем для 2-го).

Формат выходного файла

Если решение существует, в выходной файл "output.txt" следует вывести число 1
и пару вещественных параметров t1 и t2, указанных с точностью не менее 5-го знака после запятой.

В противном случае, выходной файл должен содержать единственное число 0.

Ограничения

Исходный многогранник является невырожденным (имеет ненулевой объем).
Все грани представляют собой выпуклые многоугольники.

Координаты всех вершин по модулю не превосходят 10.
Число вершин и граней не превосходит 100.

Гарантируется, что в пределах заданной
точности ответ может быть
получен однозначно.

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
8
 1.00000 -1.00000 -1.00000
 1.00000  1.00000 -1.00000
 1.00000  1.00000  1.00000
 1.00000 -1.00000  1.00000
-1.00000 -1.00000 -1.00000
-1.00000  1.00000 -1.00000
-1.00000  1.00000  1.00000
-1.00000 -1.00000  1.00000

6
4 0 1 2 3
4 7 6 5 4
4 5 6 2 1
4 0 3 7 4
4 7 3 2 6
4 5 1 0 4

-0.25000  1.50000 -1.50000
-0.75000  1.50000 -2.00000
1
-0.25972  0.26752

0.081s 0.015s 15