까마귀

아직 제출이 없습니다시간 제한3초메모리 제한256 MB

문제

2차원 평면에 까마귀 한 마리가 산다. 오늘도 까마귀는 먹이를 찾아, 반짝이는 것을 찾아 하루 종일 돌아다녔다.

평면에서 y<0y < 0인 부분은 땅이라서 까마귀가 갈 수 없다. 산도 하나 있는데, 산의 내부에도 갈 수 없다. 산은 NN개의 정점 P1(x1,y1)P_1(x_1, y_1)부터 PN(xN,yN)P_N(x_N, y_N)까지로 나타낸다. xix_i는 증가하는 순서로 주어지고, 모든 ii에 대해 yi0y_i \ge 0이며 y1=yN=0y_1 = y_N = 0이다. P1P_1부터 PNP_N까지 순서대로 잇고 PNP_NP1P_1을 이으면 산의 경계가 된다. 까마귀는 산의 변 위로는 다닐 수 있지만 내부로는 들어갈 수 없다.

까마귀는 오늘 M1M-1번 이동했다. 처음에는 Q1(X1,Y1)Q_1(X_1, Y_1)에 있었고, 그다음 Q2(X2,Y2)Q_2(X_2, Y_2)로, 그렇게 차례대로 마지막 QM(XM,YM)Q_M(X_M, Y_M)까지 방문하고 하루를 마쳤다. 까마귀는 똑똑해서 QiQ_i에서 Qi+1Q_{i+1}로 갈 때 땅의 내부와 산의 내부를 지나지 않는 가장 짧은 경로로 이동했다. 오늘 까마귀가 이동한 거리의 합을 구하는 프로그램을 작성하라.

입력

첫째 줄에 NN (3N10003 \le N \le 1000)이 주어진다.

다음 NN개 줄 중 ii번째 줄에는 xix_iyiy_i (104xi104-10^4 \le x_i \le 10^4, 0yi1040 \le y_i \le 10^4)가 공백 하나를 사이에 두고 주어진다. 1i<N1 \le i < N인 모든 ii에 대해 xi<xi+1x_i < x_{i+1}이고, y1=yN=0y_1 = y_N = 0이다.

다음 줄에 MM (2M10002 \le M \le 1000)이 주어진다.

다음 MM개 줄 중 ii번째 줄에는 XiX_iYiY_i (104Xi104-10^4 \le X_i \le 10^4, 0Yi1040 \le Y_i \le 10^4)가 공백 하나를 사이에 두고 주어진다. 산의 내부에 있는 (Xi,Yi)(X_i, Y_i)는 없다. 경계 위에 있는 것은 가능하다.

출력

까마귀가 이동한 거리의 합을 소수점 아래 여섯째 자리까지 반올림해 한 줄에 출력한다. 소수점 아래 자리는 항상 여섯 자리를 모두 적는다.

힌트

첫 번째 예제의 지형은 아래 그림과 같다. 초록색이 산이고 갈색이 땅이다. 까마귀는 하늘색 영역과 산, 땅의 변 위로 다닐 수 있다.

아래 두 그림은 까마귀의 두 이동을 나타낸다. 첫 번째 이동 거리는 525\sqrt{2}, 두 번째 이동 거리는 5+55 + \sqrt{5}이고, 둘을 더하면 약 14.30713614.307136이다.