나이트메어
시간 제한1초메모리 제한512 MB
직사각형 자동차가 k개까지 웅덩이를 견딜 수 있을 때, 웅덩이 n개 사이를 지나며 갈 수 있는 최대 거리를 구합니다.
문제
자동차 한 대가 N국의 심하게 낡은 도로를 달려 A 지점에서 B 지점까지 간다. 두 지점을 잇는 도로에는 정확히 n개의 포트홀이 있고, 자동차는 최대 k개까지만 견딜 수 있다. 포트홀이 하나 더 생기면 자동차는 멈추고 부서진다.
포트홀은 한 면이 수평인 Oxy 평면 위에 놓이고 나머지 부분이 그 평면 아래에 있는 입체 다면체다. 윗면이 포트홀의 구멍이다. 윗면의 어떤 모서리든 그 모서리를 지나는 수직 평면을 그으면 다면체 전체가 그 평면의 한쪽에 놓인다. 윗면을 제거하고 위에서 내려다보면 표면의 모든 점이 보인다.
자동차는 Oxy 평면 위의 직사각형이며, 네 꼭짓점이 바퀴다. 자동차는 포트홀이 없는 평지에서 출발하여 정해진 한 방향으로 계속 움직인다. 바퀴가 하나라도 포트홀 안으로 들어가면 포트홀에 빠진 것이다. 포트홀의 가장자리에만 닿는 경우는 빠진 것으로 보지 않는다. 자동차는 포트홀에 빠진 뒤에도 Oxy 평면 위에서만 움직인다고 가정한다.
자동차가 부서지기 전까지 갈 수 있는 거리는 얼마인가?
입력
첫 줄에 자동차가 견딜 수 있는 포트홀의 개수 k가 주어진다().
다음 네 줄에는 바퀴의 좌표를 x y 형식으로 앞오른쪽, 앞왼쪽, 뒤왼쪽, 뒤오른쪽 순서로 준다. 자동차는 두 앞바퀴를 지나는 직선의 법선 방향으로 움직인다. 좌표의 절댓값은 10000을 넘지 않는다.
다음 줄에 포트홀의 개수 n이 주어진다(). 각 포트홀은 꼭짓점 개수 ()를 적은 줄로 시작하고, 이어서 개의 줄에 꼭짓점의 좌표 x, y, z가 주어진다. 좌표는 , 을 만족한다.
포트홀끼리는 서로 겹치지 않고 닿지도 않는다.
출력
자동차가 부서지기 전까지 이동한 거리를 출력한다. 절대 오차가 이하이면 정답으로 인정한다. 자동차가 절대 부서지지 않으면 oo를 출력한다.