Spirograph
시간 제한8초메모리 제한512 MB
반지름 P인 고정원 안에서 반지름 Q인 원이 미끄러지지 않고 굴러갈 때, 중심에서 거리 R만큼 떨어진 구멍이 그리는 하이포트로코이드 곡선의 길이를 각 테스트 케이스마다 계산한다.
문제
아래 그림과 같은 도구를 본 적이 있을 것이다.

그림 1: Spirograph
고정된 원(A)과, 작은 구멍이 여러 개 뚫린 더 작은 내부 원(B)이 있다. 구멍 하나에 펜 끝을 꽂고 원 B를 원 A의 안쪽을 따라 미끄러지지 않게 굴리면 아래 그림과 같은 곡선을 그릴 수 있다. 이런 곡선을 하이포트로코이드(hypotrochoid)라고 한다.

그림 2: 하이포트로코이드의 예
고정된 원 A의 반지름, 내부 원 B의 반지름, 그리고 B의 중심과 사용한 구멍 사이의 거리가 주어질 때 하이포트로코이드의 길이를 계산하는 프로그램을 작성하라.
입력
입력은 여러 테스트 케이스로 이루어진다. 각 테스트 케이스는 한 줄에 세 정수 P, Q, R이 이 순서대로 주어지며, P는 고정된 원 A의 반지름, Q는 내부 원 B의 반지름, R은 원 B의 중심과 구멍 사이의 거리이다. 0 ≤ R < Q < P ≤ 1000이라고 가정할 수 있다. P, Q, R은 공백 하나로 구분되고, 그 외의 공백은 입력에 나타나지 않는다.
입력의 끝은 P = Q = R = 0인 줄로 표시된다.
출력
각 테스트 케이스마다 하이포트로코이드 곡선의 길이를 출력한다. 오차는 10-2(= 0.01) 이내여야 한다.