Розглянемо стрижень, що обертається за годинниковою стрілкою, немов естафетна паличка, на площині, оточеній багатокутною стіною (див. Рисунок 1).
\includegraphics{https://static.e-olymp.com/content/ba/ba0ece2a623f0c77437cdf1314601a7cf85ae1c3.jpg}
Рисунок 1. Стрижень, що обертається в багатокутнику
Спочатку один кінець стрижня (назвемо його кінець A) знаходиться у точці , а інший кінець (назвемо його кінець B) — у точці , де — довжина стрижня. На початку стрижень торкається стіни лише в точці A.
Стрижень обертається, фіксуючи точку дотику як центр обертання; цей центр змінюється щоразу, коли нова точка торкається стіни.
Ваше завдання — обчислити координати кінця A після того, як стрижень здійснить повних обертів (або так далеко, наскільки це можливо, якщо він заклинить до завершення обертів).
\includegraphics{https://static.e-olymp.com/content/36/36fa20fba88ac68d38475da99a35a345a353d4bb.jpg}
Рисунок 2. Приклади обертання стрижнів
На Рисунку 2 наведено декілька прикладів. У випадках (D) та (E) стрижень заклинює (тобто, він не може обертатися далі за годинниковою стрілкою ні навколо жодної з точок дотику), не завершивши обертів. У таких випадках слід повідомити координати кінця A у цій заклиненій позиції.
Можна вважати, що якщо довжина зміниться на (|\varepsilon| < 0.00001), то кінцеві координати зміняться не більше, ніж на .
Вхід складається з декількох тестових випадків (наборів даних). Кількість тестових випадків не перевищує . Введення завершується рядком "0 0 0".
Кожен тестовий випадок має такий формат:
\includegraphics{https://static.e-olymp.com/content/49/49270e28ebc371c9e6e548fe5edf6353526f0ecb.jpg}
Тут — довжина стрижня. Стрижень обертається на радіан ( повних обертів), якщо до цього не заклинить. — кількість вершин багатокутника.
Вершини багатокутника задані у протилежному до годинникової стрілки порядку. Можна вважати, що багатокутник простий (його межа не перетинає і не торкається самої себе).
, X_i та Y_i — цілі числа; та — десяткові дроби. Їхні значення знаходяться у межах:
Для кожного тестового випадку виведіть в одному рядку координати та кінцевого положення кінця A, розділені пробілом. Ваша відповідь не повинна відрізнятися від правильної більш ніж на . Можна виводити будь-яку кількість знаків після коми, але точність повинна бути не меншою за три знаки після коми.
Зверніть увагу: приклад вхідних даних відповідає випадкам на Рисунку 2. Для зручності на Рисунку 3 наведено анімацію і фотопослідовність для випадку (C).
\includegraphics{https://static.e-olymp.com/content/7b/7b13b2e55ad078ef0bf7a0d5d7037554d9381312.gif}
\includegraphics{https://static.e-olymp.com/content/1e/1e244d4685cf610b1ebf501717ded1cb8a1f0ddc.jpg}
Рисунок 3. Анімація і фотопослідовність для випадку (C)
Приклад 1