Захар решает геометрический контест имени Вадима Баринова, где ему попалась довольно интересная задача. В ней был дан выпуклый многоугольник на N вершинах в декартовых координатах. Задача была связана с разрезами многоугольника по диагоналям. Захару нужно было провести несколько отрезов, однако он немного сомневался в своих силах, поэтому, помимо отрезов, он произвёл замеры. Формально говоря, Захар совершил Q действий двух типов:
-
Замер: Захар выбирает две вершины многоугольника, проводит между ними диагональ, тем самым он делит многоугольник на две части. Затем он измеряет площади этих двух многоугольников и записывает большую из площадей в листочек.
-
Отрез: Захар выбирает две вершины многоугольника, проводит между ними диагональ, многоугольник также делится на две части. После этого он отрезает и выкидывает ту часть, у которой площадь меньше другой. При равенстве он выкидывает ту часть, у которой есть вершина с порядковым номером меньшим или большим, чем порядковые номера обеих выбранных изначально вершин. Площадь отрезанного многоугольника он записывает в листочек.
Захар провёл все эти действия в самом начале контеста, а сейчас контест уже подходит к концу, а листочек с записями куда-то потерялся. К счастью, Захар помнит все свои действия по типу и номерам вершин, которые он выбирал. Помогите ему восстановить содержимое листочка.
Исходные данные
В первой строке даны два целых числа N и Q — количество вершин выпуклого многоугольника и количество действий Захара (4 ≤ N ≤ 105, 1 ≤ Q ≤ 105).
В следующих N строках описаны координаты вершин многоугольника в порядке обхода против часовой стрелки двумя целыми числами xi и yi. Гарантируется, что многоугольник выпуклый. Все координаты по модулю не превосходят 109.
В следующих Q строках описаны действия Захара в формате «ti li ri», где ti — тип действия: ‘m’ для замера, ‘c’ для отреза; 1 ≤ li, ri ≤ N. Гарантируется, что отрезок от вершины li до вершины ri всегда является диагональю, то есть обе эти вершины есть в текущем многоугольнике, а также не описывают одну из сторон этого многоугольника.
Результат
Выведите Q строк с записанной в листочке площадью после каждого действия Захара.
Ответ будет засчитан, если абсолютная или относительная погрешность каждого числа не превосходит 10−9.
Пример
| исходные данные | результат |
|---|
5 4
2 0
3 1
2 2
0 2
0 0
m 5 3
m 2 4
c 1 3
m 4 1
| 3.0
4.0
1.0
2.0
|
Автор задачи: Вадим Баринов