Задача I. Inner rotation

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

Условие

Имеются два треугольника, закрепленные в некоторой фиксированной точке F. При этом один из них целиком лежит внутри другого. Каждый треугольник задается вершинами, записанными в полярной система координат (varphi, r) с центром в точке F.

Известно, что внутренний треугольник может вращаться вокруг фиксированной точки до тех пор, пока не коснется границы внешнего треугольника.

Напишите программу, определяющую максимально возможный диапазон угла, на который можно повернуть внутренний треугольник.

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

Входной файл содержит 6 вещественных чисел, задающих вершины внешнего треугольника: varphi1, r1, varphi2, r2, varphi3, r3.

Далее содержатся 6 вещественных чисел, аналогичным образом задающих вершины внутреннего треугольника.

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

Выходной файл должен содержать ширину диапазона допустимых углов поворота в радианах, с точностью не менее 5-го знака после запятой.

Ограничения

Все тесты подобраны таким образом, чтобы снизить влияние погрешности машинного округления на результат.

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

Фиксированная точка F является внутренней по отношению к каждому из треугольников.

Все углы varphii указаны в радианах и лежат в диапазоне от 0 до 2 ⋅ π.

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

Входной файл (input.txt) Выходной файл (output.txt)
1
2.10630 2.00000
6.05701 2.00000
4.00000 2.00000

0.00000 0.50000
1.57080 0.50000
3.92699 0.50000
6.28319
2
2.10630 1.23000
6.05701 1.50000
4.00000 2.00000

6.10430 0.40000
1.57080 0.40000
3.92699 1.60000
0.25326

0.040s 0.008s 15