히스토그램은 경계가 두 사슬로 이루어진 단순 직교 다각형이다. 위쪽 사슬은 가로축에 대해 단조이고, 아래쪽 사슬은 수평 선분 하나이다. 이 수평 선분을 밑변이라고 한다.

그림 1. 히스토그램과 밑변 (v0,v1)
히스토그램 P의 꼭짓점 n개를 경계를 따라 반시계 방향으로 나열한 것을 (v0,v1,…,vn−1)이라고 하자. 밑변은 (v0,v1)이다. 변 ei는 꼭짓점 vi와 vi+1을 잇는 선분이고, i=0,1,…,n−1이며 vn=v0이다.
P 안의 경로는 P의 외부와 만나지 않는 단순 경로이다. 경로의 길이는 경로를 이루는 선분의 유클리드 길이를 모두 더한 값이다. P 위의 두 점 p와 q 사이의 거리는 P 안에서 두 점을 잇는 최단 경로의 길이이다. 경계 위의 점 p(k,d)는 변 ek 위에 있으면서 vk에서의 거리가 d인 점을 뜻한다.
그림 1의 히스토그램에서 v0과 q1=p(10,2) 사이의 최단 경로는 v0, v14, v12, q1을 차례로 잇는 꺾은선이고, 길이는 8.595242이다. v0과 q2=p(1,1) 사이의 최단 경로는 두 점을 곧바로 잇는 선분이고, 길이는 15.033296이다.
꼭짓점이 n개인 히스토그램 P와 그 경계 위의 점 m개로 이루어진 집합 S가 주어진다. v0과 S의 모든 점 사이의 거리를 구하는 프로그램을 작성하시오.
입력은 표준 입력으로 주어진다. 첫째 줄에 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스의 첫째 줄에는 히스토그램 P=(v0,v1,…,vn−1)의 꼭짓점 개수 n이 주어진다. (4≤n≤100000)
다음 n개의 줄에 v0부터 vn−1까지 꼭짓점이 한 줄에 하나씩 주어진다. 각 줄에는 그 꼭짓점의 x좌표와 y좌표를 나타내는 정수 두 개가 주어지고, 두 좌표 모두 0 이상 1000000 이하이다. (v0,v1)이 밑변이다.
다음 줄에 집합 S의 크기 m이 주어진다. (1≤m≤100000)
다음 m개의 줄에 S의 점 p(k,d)가 한 줄에 하나씩 정수 두 개 k와 d로 주어진다. (0≤k≤n−1, 0≤d< 변 ek의 길이) S의 점은 모두 서로 다르다.
출력은 표준 출력으로 한다. 각 테스트 케이스마다 한 줄에 v0과 S의 모든 점 사이의 거리를 더한 값을 출력한다. 소수점 아래 둘째 자리에서 반올림해 소수점 아래 첫째 자리까지 정확히 출력한다.
두 점 p=(x1,y1)과 q=(x2,y2) 사이의 유클리드 거리는 (x2−x1)2+(y2−y1)2이다.