Зеркало

Ограничение по времени: 5.000 секунд

Ограничение по памяти: 500.000 мегабайт

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

Кабинет Юли — это комната, имеющая форму выпуклого многоугольника. Юля собирается поставить зеркало так, чтобы оно занимало какую-то стену целиком, но она ещё не определилась, какую именно.

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

Формат входных данных

В первой строке находится число n — количество вершин многоугольника (3 ⩽ n ⩽ 105).

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

В последней строке заданы координаты рабочего места Юли.

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

Формат выходных данных

Для каждой стороны многоугольника выведите на отдельной строке площадь части комнаты, отражение которой будет видно с рабочего места Юли, если зеркало поставить на месте этой стороны.

Рёбра упорядочены в порядке обхода против часовой стрелки, начиная с первой вершины.

Ответ будет считаться правильным, если его абсолютная или относительная погрешность не превосходит 10−6.

Пример

input output
4
-1 -1
1 -1
5 1
-5 1
0 0
8.0000000
4.2857143
12.0000000
4.2857143

Пояснение

Зелёным цветом выделена область, отражение которой видно в зеркале, для каждой из четырёх сторон; пунктиром — отрезки от рабочего места Юли до границ зеркала.

Войдите, что бы отправлять решения