Для операторов мобильной связи крайне важно размещать радиовышки как можно ближе к пользователям, поскольку расстояние между вышкой и пользователем напрямую влияет на мощность сигнала. Чем дальше пользователь находится от вышки, тем слабее будет сигнал, что может привести к обрыву вызовов, низкой скорости передачи данных и общей низкой производительности мобильной сети. Располагая радиовышки ближе к пользователям, операторы мобильной связи могут гарантировать, что пользователи получат сильный и стабильный сигнал, что необходимо для предоставления высококачественных мобильных услуг и поддержания удовлетворенности клиентов.
У очень известного мобильного оператора SDUcell есть $$$n$$$ радиовышек в городе. В данной задаче город можно представить как двумерную Евклидову плоскость и $$$i$$$-я радиовышка находится на целочисленной координате $$$(x_i, y_i)$$$. Расстояние между двумя точками измеряется Евклидовым расстоянием, то есть длиной кратчайшего отрезка, соединяющего заданные точки.
Активный пользователь данного оператора Марко решил прогуляться по улицам города и поболтать с друзьями во время прогулки. Он уже определился со своим маршрутом и выделил $$$m$$$ точек на карте.
Он начинает свой маршрут в точке $$$(a_1, b_1)$$$. Дальше он будет ходить по прямой линии до точки $$$(a_2, b_2)$$$, оттуда до точки $$$(a_3, b_3)$$$ и так далее. В итоге он закончит свой маршрут в точке $$$(a_m, b_m)$$$.
Особенность его маршрута в том, что улицы в городе расположены в прямоугольном виде. Поскольку Марко всегда гуляет по улицам, каждая часть его маршрута будет либо строго горизонтальной, либо вертикальной. Более формально, для всех $$$1 \le i \le m-1$$$ всегда будет выполняться либо $$$a_i = a_{i+1}$$$, либо $$$b_i = b_{i+1}$$$.
Марко двигается с постоянной скоростью одной единицы в секунду. То есть, пройденное расстояние прямо пропорционально потраченному времени и Марко пройдет $$$d$$$ единиц расстояния за $$$d$$$ секунд.
В каждый момент времени мобильный оператор SDUcell будет соединять телефон Марко к ближайшей радиовышке. По окончанию маршрута SDUcell считает стоимость звонка очень интересным образом:
Какую сумму придется заплатить Марко?
В первой строке входного файла дано одно целое число $$$n$$$ ($$$1 \le n \le 2000$$$) — количество радиовышек мобильного оператора SDUcell.
В следующих $$$n$$$ строках даны целочисленные координаты радиовышек $$$(x_i, y_i)$$$ ($$$-1000 \le x_i, y_i \le 1000$$$). Гарантируется, что все координаты различны.
В следующей строке дано одно целое число $$$m$$$ ($$$1 \le m \le 500$$$) — количество точек в маршруте Марко.
В следующих $$$m$$$ строках даны целочисленные координаты всех точек в маршруте Марко $$$(a_i, b_i)$$$ ($$$-1000 \le a_i, b_i \le 1000$$$). Гарантируется, что все точки в маршруте различны. Гарантируется, что для всех $$$1 \le i \le m-1$$$ выполняется либо $$$a_i = a_{i+1}$$$, либо $$$b_i = b_{i+1}$$$.
Выведите одно единственное вещественное число — сумму которую придется заплатить Марко. Ваш ответ будет считаться правильным, если его относительная или абсолютная погрешность не превысит $$$10^{-6}$$$.
2 1 0 0 -2 4 0 0 0 -1 1 -1 1 -2
3.500000000
3 0 0 2 2 0 9 2 0 0 0 9
44.678571429
Приведем визуализацию первого примера.
![]() | ![]() |