В плоском королевстве заканчивается постройка новейшего космического корабля «Энтерпрайз» для полётов в плоском космосе на суб- и сверхсветовых скоростях (при этом корабль подвергается действию ворп-фактора и гравитационных полей плоских черных дыр, что иногда выражается в изменении привычных нам математических правил). Сейчас ведутся активные работы по завершению написания программных модулей для сверхразума корабля.
По проекту навигатор вводит описание траектории полёта в сверхразум корабля на специальном языке программирования 2NAV. Затем сверхразум должен расcчитать все параметры полёта и по специальной команде выполнить его.
В полёте корабль посылает через равные интервалы времени сигнал, содержащий координаты его текущего местоположения. Также сигнал всегда отправляется из точек отправления и прибытия. Выполнив кусочно-линейную интерполяцию по этим координатам, можно оценить траекторию корабля и пройденный им путь. Мы просим вас помочь в разработке навигационного модуля и написать модуль для вычисления длины пройденного пути.
Путь задаётся в параметрическом виде x = x(t) и y = y(t) на языке 2NAV. Этот язык программирования разработан на основе LISP специально для навигации в плоском космосе. Язык оперирует только вещественными числами двойной точности, записанными в формате с фиксированной точкой без знака, предопределёнными константами
(число π) и
(число e), предопределённой переменной
. Выражением на этом языке может быть число, предопределённая переменная или константа, либо конструкция вида
, где op — предопределённый в языке оператор или функция, а argi — аргумент, который может быть любым допустимым в языке выражением. Поддерживаемые операторы и функции приведены в списке ниже. В списке представлена операция (в программе записывается без кавычек), количество аргументов и результат ее применения.
Если у оператора с переменным числом аргументов задан только один аргумент, то остальные аргументы полагаются нейтральными относительно соответствующей операции.
Если абсолютная величина результата любого математического действия (включая промежуточные вычисления) оказывается больше 106, то результат округляется до - 106 или 106 в зависимости от того, был результат отрицательным или положительным. Если абсолютная величина результата любого математического действия оказывается меньше 10 - 6, то результат округляется до 0.
Первая строка содержит целые числа T и N (1 ≤ T ≤ 1000, 1 ≤ N ≤ T) — соответственно время, в течение которого корабль находился в пути, и интервал отправки сигналов с координатами.
Следующие строки содержат два корректных выражения на языке 2NAV для x(t) и y(t) соответственно. Числа, константы, переменные, операторы и функции в выражениях могут быть разделены произвольным количеством символов пробела, табуляции и перевода строки. Количество математических действий в каждом из выражений, включая неявные действия в операторах с переменным числом аргументов, не превосходит 104.
Выведите одно вещественное число — длину пути, пройденного кораблём за время T, определённое на основе кусочно-линейной интерполяции его траектории по переданным координатам. Точность ответа должна составлять не менее 2 знаков после десятичной точки.
1 1
t
t
1.41
10 1
(cos (/ (* t PI) 10.0))
(sin (/ (* t PI) 10.0))
3.13