K. Поликарп и лампочки
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Поликарп по-прежнему продолжает опыты с освещением. В этот раз он освещает цилиндр множеством прозрачных лампочек. Центр нижнего основания находится в точке (xc, yc, 0), его высота равна h, радиус равен r. Нижнее основание лежит в плоскости xOy, верхнее параллельно ему и с центром в точке (xc, yc, h). Также Поликарп приготовил N лампочек, i-я лампочка находится в точке (xi, yi, zi). Размером лампочек можно пренебречь. Лампочки очень мощные, поэтому они освещают все точки пространства, на пути к которым нет препятствий. Цилиндр сплошной и не пропускает свет. Поликарпу интересно узнать площадь освещенной части поверхности цилиндра.

Входные данные

В первой строке находятся четыре числа, разделенных пробелами: xc, yc, h, r — координаты центра нижнего основания, высота и радиус цилиндра соответственно.

Во второй строке находится единственное целое число N — количество лампочек.

В следующих N строках располагаются тройки целых чисел: xi, yi, zi — координаты лампочек. Числа разделены пробелами.

Все координаты по модулю не превышают 1000. 1 ≤ h, r ≤ 1000. 1 ≤ N ≤ 100. Гарантируется, что лампочки не находятся на границе или внутри цилиндра. В одной точке может находиться не более одной лампочки.

Выходные данные

Необходимо вывести площадь освещенной части поверхности цилиндра. Площадь считается правильной, если относительная или абсолютная погрешность не превосходит 10 - 6.

Примеры
Входные данные
0 0 10 10
1
0 0 100
Выходные данные
314.15926536
Входные данные
0 0 10 10
4
-100 0 -100
0 -100 -25
100 0 25
0 100 100
Выходные данные
1256.63706144
Примечание

Лампочка освещает нижнее основание, только если она находится под ним, и верхнее, если находится над ним. Если лампочка находится в одной плоскости с основанием, она его не освещает.