벽에 박힌 고리에 실로 매달린 진자를 생각하자. 진자를 밀면 좌우로 왕복하며 흔들린다. 이제 진자의 실이 지나가는 경로 위에, 벽에 박힌 다른 고리들이 놓여 있다고 하자. 실은 이 고리들에 걸려 방향이 꺾이고, 때로는 고리를 완전히 감고 돌기도 한다. 그래서 진자는 이전보다 훨씬 복잡한 궤적을 그린다. 충분한 시간이 지나면 진자의 운동은 반복되어, 하나의 주기 궤도를 따라 움직이게 된다. 진자가 이 주기 궤도를 한 바퀴 도는 동안 이동하는 거리를 구하여라.
좀 더 정확히 정의하자. 벽에 직교 좌표계를 놓고, 실의 한쪽 끝을 원점 $(0, 0)$ 에 고정한다. $x$ 축은 오른쪽, $y$ 축은 위쪽을 향한다. 실의 길이는 $r$ 이다. 진자는 위치 $(-r, 0)$ 에서 놓이며, 따라서 오른쪽으로 흔들리기 시작한다. 평면에는 진자의 경로에 영향을 줄 수 있는 고리가 추가로 $n$ 개 놓여 있다.
다음 이상적인 가정이 성립한다.
진자의 움직임을 시뮬레이션하여, 진자가 최종적으로 진입하는 주기 궤도의 공간적 길이를 출력하여라. 물리에서 알 수 있듯이, 중력 때문에 진자는 처음 놓인 높이보다 더 높이 올라갈 수 없다. 즉 $x$ 축 위쪽(양의 $y$)으로는 절대 올라가지 못한다. 진자는 결국 처음 높이에 다시 도달하거나, 어떤 고리 주위를 끝없이 돌게 된다.
입력은 여러 개의 테스트 케이스로 이루어진다. 각 케이스의 첫 줄에는 고리의 개수를 나타내는 정수 $n$ ($1 \le n < 500$) 과 실의 길이를 나타내는 실수 $r$ 이 주어진다. 이어지는 $n$ 개의 줄에는 각 고리의 $x$ 좌표와 $y$ 좌표를 나타내는 두 정수가 주어진다.
$r = 0$ 인 케이스로 입력이 끝나며, 이 케이스는 처리하지 않는다.
각 케이스마다 먼저 케이스 번호를 담은 줄(Pendulum #1, Pendulum #2, ...)을 출력한다.
그 다음 줄에는 Length of periodic orbit = <거리> 형식으로 진자가 주기 궤도를 한 바퀴 도는 동안 이동하는 거리를 출력한다. 궤도의 시작점에 도달하기까지 이동한 거리는 세지 않는다. <거리> 는 소수점 아래 둘째 자리까지 출력한다.
연속한 테스트 케이스 사이는 빈 줄 하나로 구분한다.