Поликарп по-прежнему продолжает опыты с освещением. В этот раз он освещает цилиндр множеством прозрачных лампочек. Центр нижнего основания находится в точке (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
Лампочка освещает нижнее основание, только если она находится под ним, и верхнее, если находится над ним. Если лампочка находится в одной плоскости с основанием, она его не освещает.