떠내려간 물병

강 양쪽 둑을 달리며 장애물을 만나면 건너야 하는 상황에서, 떠내려가는 물병을 가장 빨리 잡는 시각을 구하거나 불가능을 판정한다.

보통7최단 경로그래프아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

조는 며칠짜리 도보 여행 중이다. 강을 걸어서 건너다가 빈 물병이 배낭에서 빠져 하류로 떠내려갔다. 조는 한동안 물병을 바라보다가 쫓아가기로 하고 왼쪽 기슭으로 돌아와 배낭을 내려놓는다. 마음을 정하고 왼쪽 기슭에 서기까지 2분이 걸렸고 강물은 초당 0.50.5미터로 일정하게 흐르므로, 조가 달리기 시작할 때 물병은 이미 6060미터 하류에 있다.

조가 달리기 시작하는 순간을 시각 00으로, 물병을 떨어뜨린 지점을 거리 00으로 둔다. 시각 tt초에 물병은 60+0.5t60 + 0.5t미터 지점에 있다.

왼쪽 기슭에서 조는 초당 22미터로 달린다. 오른쪽 기슭은 지형이 거칠어 초당 11미터로만 달린다. 두 기슭에는 절벽처럼 지나갈 수 없는 장애물이 군데군데 놓여 있다. 장애물을 만나면 강을 건너 반대편 기슭으로 가야 한다. 조는 언제나 물살에 수직인 선을 따라 건너므로 강을 건너는 동안 하류로 밀리지 않고, 한쪽 기슭에서 반대쪽 기슭까지 4040초가 걸린다.

ddll로 주어진 장애물은 자기 기슭의 dd 지점부터 d+ld + l 지점까지를 덮는다. 조는 자기가 있는 기슭에서 어떤 장애물의 내부에도 들어가지 않는 지점에만 설 수 있고, 양 끝점 ddd+ld + l에는 설 수 있다. 달릴 때도 그런 지점만 지나가며, 강은 양쪽 기슭 모두에서 설 수 있는 지점에서만 건넌다. 그래서 한쪽 장애물이 끝나는 지점에서 반대편 장애물이 시작하면 조는 그 지점에서 건너간다. 반대로 같은 지점이 양쪽 기슭 장애물의 내부에 함께 들어가면 조는 그 지점을 넘어가지 못한다.

물병을 집으려면 조는 서 있던 지점에서 강으로 들어가 강 한가운데까지 가야 한다. 한가운데까지 2020초가 걸리고 그동안에도 하류로 밀리지 않는다. 시각 TT에 지점 pp에서 들어가면 시각 T+20T + 20pp의 강 한가운데에 닿는다. 그때 물병이 이미 pp를 지나갔으면 물병을 놓친다. 아직 오지 않았으면 그 자리에서 기다렸다가 물병이 pp에 닿는 순간 집는다.

조가 물병을 집는 가장 이른 시각을 구하라.

입력

입력은 테스트 케이스 하나로 이루어진다.

첫 줄에 왼쪽 기슭의 장애물 수 nln_l과 오른쪽 기슭의 장애물 수 nrn_r이 주어진다 (0nl20000 \le n_l \le 2\,000, 0nr20000 \le n_r \le 2\,000).

이어지는 nln_l개 줄에는 왼쪽 기슭 장애물이 두 정수 ddll로 주어진다 (0<d60000 < d \le 6\,000, 0<l60000 < l \le 6\,000). dd는 물병을 떨어뜨린 지점에서 장애물이 시작하는 지점까지의 하류 거리이고 ll은 장애물의 길이이며, 단위는 모두 미터다.

그다음 nrn_r개 줄에는 같은 형식으로 오른쪽 기슭 장애물이 주어진다.

각 기슭의 장애물은 dd가 증가하는 순서로 주어지고 서로 겹치지 않는다. 끝점이 맞닿을 수는 있다.

출력

조가 물병을 집는 가장 이른 시각을 초 단위로, 소수점 아래 셋째 자리까지 반올림해 출력한다. 정확한 값은 언제나 13\frac{1}{3}초의 정수배이므로 반올림한 결과는 하나로 정해진다. 예를 들어 정확한 값이 662366\frac{2}{3}초면 66.667을 출력한다.

물병을 집을 수 없으면 IMPOSSIBLE을 출력한다.