Саша любит физику. У Саши нет друзей. Неизвестно, связаны ли эти два факта, но Саша очень сильно переживает из-за отсутствия товарищей. Поэтому он решил поразить Вадима своим экспериментом.
Саша живёт на плоскости с декартовой системой координат, поэтому он взял выпуклый многоугольник с n вершинами, пронумерованными от 1 до n, где вершина номер i имеет координаты (xi, yi). Внутрь многоугольника он налил сок, который заполнил всю ёмкость целиком. После чего он принёс его Вадиму, чтобы показать свой эксперимент. Так вышло, что Вадим не любит физику, да и на эксперименты Саши ему было наплевать. Поэтому он взял многоугольник и сделал на одной из его сторон (но не в вершине!) точечную дырку с координатами (x0, y0), из-за чего весь лишний сок вылился через дырку на землю под действием гравитации (гравитация направлена по убыванию координаты y). Но Вадиму было этого мало: он начал поочерёдно медленно поворачивать весь многоугольник вокруг центра координат на углы αi в градусах, из-за чего сока внутри становилось всё меньше и меньше.
Вы увидели всё это, но Вадима уже никто не мог остановить. Однако чтобы успокоить Сашу, Вы можете сообщить ему, сколько оставалось сока после каждого действия Вадима над многоугольником. Жюри надеется, что Вы не монстр и что успокоить Сашу у Вас получится.
Исходные данные
В первой строке дано единственное целое число n — количество вершин многоугольника (3 ≤ n ≤ 105).
В каждой из следующих n строк через пробел даны по два числа xi, yi — координаты вершин многоугольника в порядке обхода против часовой стрелки (−105 ≤ xi, yi ≤ 105). Координаты даны ровно с тремя знаками после запятой.
В (n+2)-й строке через пробел даны два числа x0, y0 — координаты дырки, сделанной Вадимом (−105 ≤ x0, y0 ≤ 105). Координаты даны ровно с тремя знаками после запятой.
В (n+3)-й строке вводится целое число q — количество поворотов многоугольника (0 ≤ q ≤ 105).
В последних q строках по одному в строке вводятся числа αi — углы поворота многоугольника против часовой стрелки в градусах (−360 ≤ αi ≤ 360, поворот на −x против часовой стрелки равносилен повороту на x по часовой стрелке). Углы даны в том порядке, в котором Вадим поворачивал многоугольник, ровно с тремя знаками после запятой.
Гарантируется, что многоугольник выпуклый, что никакие три вершины многоугольника не лежат на одной прямой и что дырка находится на стороне многоугольника, но не в вершине.
Результат
Выведите q + 1 строк. В первой строке выведите площадь оставшегося сока после того, как Вадим сделал дырку. В следующих q строках выведите площадь оставшегося сока после каждого поворота многоугольника Вадимом.
Ответ будет засчитан, если абсолютная или относительная погрешность каждого числа не превосходит 10−4.
Пример
исходные данные | результат |
---|
3
-2.000 1.000
1.000 -2.000
4.000 1.000
1.000 1.000
4
45.000
45.000
45.000
45.000
| 9.000000000
6.750000000
4.500000000
2.250000000
0.000000000
|
Замечания
Автор задачи: Вадим Баринов
Источник задачи: Уральская командная олимпиада по программированию 2019