시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 15 1 1 100.000%

문제

승혁이는 과외의 제왕이다. 그래서 너무 입소문을 탄 나머지 최대 1,000명의 악동들을 동시에 가르치게 되고 말았다. 이 악동들은 너무나도 사악해서 승혁이는 도저히 제어할 수 없었고 결국 집을 탈출하기로 한다.

악동들은 승혁이의 시야에 있을 때는 그 자리에 가만히 있다가, 시야를 벗어나는 순간 빛의 속도로 달려와 승혁이의 뒤통수를 강하게 때린다. 빛의 속도이기 때문에 승혁이는 절대 이를 방어하거나 회피할 수 없다. 대신 승혁이의 시야는 전방 180도이며, 시력도 좋아서 시야의 모든 것을 완벽하게 볼 수 있다. 또한 승혁이는 시야를 전환하면서 움직일 수 있으며, 뒷걸음질도 가능하다.

이 집의 탈출구 또한 사악하게도 단 한 군데이다. 이제 승혁이는 모든 악동들을 시야에서 벗어나지 않게 하면서, 즉 한 대도 맞지 않고 탈출구까지 다다라야 한다. 이것이 가능한지 판별하고, 가능하다면 이동해야 하는 최소 거리를 구하시오. 왜냐면 승혁이는 정신이 어지러워서 최대한 빨리 이곳을 벗어나야만 하기 때문이다.

입력

첫째 줄에는 테스트 케이스의 개수가 주어지며, 테스트 케이스의 개수는 100개를 넘지 않는다. 각 테스트 케이스는 다음과 같이 이루어져 있다.

  • 첫째 줄에 승혁이의 시작 위치 xL과 yL이 주어진다.
  • 둘째 줄에 탈출구의 위치 xE와 yE가 주어진다.
  • 셋째 줄에 악동의 수 n이 주어진다. (1 ≤ n ≤ 1,000)
  • 이어서 n개의 줄에 각 악동들의 위치 xi와 yi가 주어진다.

모든 x, y 값은 정수이며 −10,000 ≤ x, y ≤ 10,000을 만족한다. 또한 승혁이, 탈출구, 악동들 전체를 비롯하여 중복되는 위치는 주어지지 않는다.

출력

각 테스트 케이스마다 한 줄에 걸쳐 정답을 출력한다.

  • 한 대도 안 맞고 탈출하는 것이 가능할 경우, 이동해야 할 최소 거리를 소수점 셋째 자리까지 반올림하여 출력하시오.
  • 만약 그것이 불가능하다면 "IMPOSSIBLE"을 출력하시오.

모든 테스트 케이스는 최종 답에 대해 10-6 이내의 절대 오차 범위에서 영향을 끼치지 않는다.

예제 입력

2
0 0
2 0
2
1 1
1 -2
0 0
2 0
3
1 1
1 -2
-1 0

예제 출력

2.828
IMPOSSIBLE

힌트