Спирограф
Некоторые из вас могли видеть инструменты, подобные изображенному ниже.
Рисунок 1: Спирограф
Существует неподвижная окружность (обозначенная как A на рисунке) и меньшая внутренняя окружность с несколькими отверстиями (обозначенная как B). Если поместить кончик ручки в одно из отверстий и катать окружность B без скольжения по внутренней стороне окружности A, можно нарисовать кривые, как показано ниже. Такие кривые называются гипотрохоидами.
Рисунок 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).