EduBrick

Периметр внутри круга

2000 мс · 256 МБ · всё или ничего

Дан простой многоугольник и круг. Найдите длину той части границы многоугольника, которая лежит внутри круга или на его границе.

Формат ввода

В первой строке четыре числа: nn (3≤n≤1053 \le n \le 10^5), xOx_O, yOy_O, RR (1≤R≤1041 \le R \le 10^4). В следующих nn строках координаты вершин многоугольника в порядке обхода. Все координаты целые, по модулю не превосходят 10410^4.

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

Выведите длину части границы многоугольника внутри круга.

Ответ принимается с абсолютной или относительной погрешностью 10−610^{-6}.

Примеры

ввод
4 0 0 1
-2 -2
2 -2
2 2
-2 2
вывод
0.000000000
ввод
3 0 0 100
-1 -1
1 -1
0 2
вывод
8.324555320
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.