ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

2016. Магия и наука

Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБ
Учёные, специализирующиеся в области колдовских наук, недавно открыли новую элементарную частицу — магион. Изучая законы, которым подчиняется движение магионов, группа из трёх учёных-магов проводит следующий эксперимент.
Ученые создали в лаборатории однородную положительную ауру. Сила взаимодействия с этой аурой имеет постоянную величину и направлена вертикально вверх. Если бы на магион не действовала никакая другая сила, то под действием ауры он бы двигался с постоянным ускорением (0,0,a).
В точку M1 = (0,0,0) помещается магион, скорость которого равна нулю. В начальный момент времени первый учёный создаёт в точке O1 сгусток маны. Магион тут же попадает под действие этого сгустка и, пока тот существует, находится на расстоянии O1M1 от точки O1. В результате магион начинает движение вверх по дуге окружности omega1 с центром в O1.
В некоторый момент времени первый учёный испаряет сгусток маны в O1, а второй учёный одновременно создаёт свой сгусток в точке O2. Момент для этого выбирается следующим образом.
  1. Магион в этот момент должен находиться в ближайшей к O2 точке окружности omega1. Обозначим её M2.
  2. Магион должен находиться в точке M2 впервые, то есть новый сгусток появляется до того как магион опишет полный круг вдоль окружности omega1.
Расположение точки O2 выбирается так, чтобы точка M2 была однозначно определена и не совпадала с точкой M1. Магион, попав под действие второго сгустка, продолжает своё движение по окружности omega2 с центром в точке O2, проходящей через точку M2.
Problem illustration
После чего процедура повторяется — второй учёный испаряет свой сгусток маны, а третий учёный создаёт свой в точке O3. Магион, находящийся в этот момент времени в точке M3, теперь начинает двигаться по окружности omega3 с центром в O3. Третий учёный ждёт, пока магион не опишет полный круг по окружности omega3 и не вернётся в точку M3. Этот момент считается моментом завершения эксперимента.
Все учёные выбирают моменты и места создания сгустков маны так, чтобы точка Mi не совпадала с точками Mi−1 и Oi, а расстояние от Oi до любой точки окружности omegai−1, отличной от точки Mi, было строго больше OiMi. Кроме того, учёные следят, чтобы в каждый момент времени, кроме начального, скорость магиона не была равна нулю.
В любой момент времени на магион действуют ровно две силы: сила взаимодействия со сгустком маны и сила взаимодействия с аурой. Первая из них всегда направлена перпендикулярно траектории движения магиона и поэтому не влияет на модуль его скорости.
Сможете ли вы, зная координаты точек Oi и величину ускорения a, определить суммарную длину участков траектории магиона, на которых его скорость была не менее v?

Исходные данные

В первой строке записано целое число t — количество экпериментов, проведённых учёными (1 ≤ t ≤ 1000). Далее дано описание экспериментов, каждый эксперимент описывается блоком из четырёх строк.
В первой строке блока записаны целые числа v и a (1 ≤ v ≤ 50 000; 1 ≤ a ≤ 1000). В каждой из следующих трёх строк блока записаны целые числа xi, yi, zi — координаты точки Oi (−106xi, yi, zi ≤ 106; x12 + y12 > 0). Гарантируется, что в траектории магиона не будет горизонтальной дуги, по которой он будет перемещаться со скоростью v.

Результат

Для каждого проведённого эксперимента в отдельной строке выведите суммарную длину участков траектории магиона, на которых его скорость была не менее v. Ответы должны иметь абсолютную или относительную погрешность не более 10−6.

Пример

исходные данныерезультат
1
10 100
4 0 -3
4 16 2
21 16 2
35.3929206868

Замечания

В данном примере был проведён один эксперимент. Траектория имеет следующий вид:
от точки (0,0,0) до точки (4,0,2) — дуга меры arcsin(0.8) окружности с радиусом 5;
от точки (4,0,2) до точки (20,16,2) — четверть окружности с радиусом 16;
от точки (20,16,2) до точки (20,16,2) — полная окружность с радиусом 1.
Автор задачи: Денис Дублённых (подготовка — Евгений Курпилянский)
Источник задачи: NEERC 2014, Четвертьфинал Восточного подрегиона