Вращение вокруг
Рассмотрим стержень, вращающийся по часовой стрелке, как будто крутящаяся дубинка движется по плоской поверхности, окруженной многоугольной стеной (см. Рисунок 1).
Рисунок 1. Стержень, вращающийся в многоугольнике
Изначально один конец стержня (назовем его "конец A") находится в (0, 0), а другой конец (который назовем "конец B") в (0, L), где L - длина стержня. Изначально стержень касается стены только в точке A.
Стержень вращается, фиксируя точку касания как центр вращения. Центр меняется, как только новая точка коснется стены.
Вам следует вычислить координаты конца A, когда стержень сделает R полных оборотов.
Рисунок 2. Примеры поворотов стержня
На Рисунке 2 показано несколько примеров. В случаях (D) и (E) стержень застрянет преждевременно (не сможет дальше вращаться по часовой стрелке независимо от того какую точку касания выбрать в качестве центра) до выполнения R вращений. В таких случаях следует вывести координаты конца A в этих (застрявших) позициях.
Считайте, что если длина стержня L изменяется на ε (|ε| < 0.00001), то координаты (x, y) конечной точки не должны измениться более чем на 0.0005.
Входные данные
Входные данные состоят из нескольких тестов. Количество тестов не более 100. В конце входных данных находится строка "0 0 0".
Формат каждого теста следующий:
L R N
X_1 Y_1
X_2 Y_2
...
X_N Y_N
L - длина стержня. Стержень вращается на 2R радиан (если не застрянет преждевременно). N - количество вершин многоугольника.
Вершины многоугольника расположены в порядке обхода против часовой стрелки. Считайте, что многоугольник простой, то есть его граница не пересекает и не касается самой себя.
N, X_i и Y_i - целые числа; R и L - десятичные дроби. Их границы следующие: 1.0 ≤ L ≤ 500.0, 1.0 ≤ R ≤ 10.0, 3 ≤ N ≤ 100, -1000 ≤ X_i ≤ 1000, -1000 ≤ Y_i ≤ 1000, X_1 ≤ -1, Y_1 = 0, X_2 ≥ 1, Y_2 = 0.
Выходные данные
Для каждого теста в одной строке вывести x- и y- координаты конечного положения конца A, разделяя их пробелом. Значения могут содержать ошибку не более 0.001. После десятичной точки можно выводить любое количество знаков.
Приведенные примеры относятся к случаям на Рисунке 2. Для удобства на Рисунке 3 показана анимация и фотографическое воспроизведение случая (C).
Рисунок 3. Анимация и фотографическое воспроизведение случая (C)