{"raw_statement":[{"iden":"statement","content":"В плоском королевстве заканчивается постройка новейшего космического корабля «Энтерпрайз» для полётов в плоском космосе на суб- и сверхсветовых скоростях (при этом корабль подвергается действию ворп-фактора и гравитационных полей плоских черных дыр, что иногда выражается в изменении привычных нам математических правил). Сейчас ведутся активные работы по завершению написания программных модулей для сверхразума корабля. \n\nПо проекту навигатор вводит описание траектории полёта в сверхразум корабля на специальном языке программирования 2NAV. Затем сверхразум должен расcчитать все параметры полёта и по специальной команде выполнить его.\n\nВ полёте корабль посылает через равные интервалы времени сигнал, содержащий координаты его текущего местоположения. Также сигнал всегда отправляется из точек отправления и прибытия. Выполнив кусочно-линейную интерполяцию по этим координатам, можно оценить траекторию корабля и пройденный им путь. Мы просим вас помочь в разработке навигационного модуля и написать модуль для вычисления длины пройденного пути.\n\nПуть задаётся в параметрическом виде x = x(t) и y = y(t) на языке 2NAV. Этот язык программирования разработан на основе LISP специально для навигации в плоском космосе. Язык оперирует только вещественными числами двойной точности, записанными в формате с фиксированной точкой без знака, предопределёнными константами  (число π) и  (число e), предопределённой переменной . Выражением на этом языке может быть число, предопределённая переменная или константа, либо конструкция вида , где op — предопределённый в языке оператор или функция, а argi — аргумент, который может быть любым допустимым в языке выражением. Поддерживаемые операторы и функции приведены в списке ниже. В списке представлена операция (в программе записывается без кавычек), количество аргументов и результат ее применения.\n\nЕсли у оператора с переменным числом аргументов задан только один аргумент, то остальные аргументы полагаются нейтральными относительно соответствующей операции.\n\nЕсли абсолютная величина результата любого математического действия (включая промежуточные вычисления) оказывается больше 106, то результат округляется до  - 106 или 106 в зависимости от того, был результат отрицательным или положительным. Если абсолютная величина результата любого математического действия оказывается меньше 10 - 6, то результат округляется до 0.\n\nПервая строка содержит целые числа T и N (1 ≤ T ≤ 1000, 1 ≤ N ≤ T) — соответственно время, в течение которого корабль находился в пути, и интервал отправки сигналов с координатами.\n\nСледующие строки содержат два корректных выражения на языке 2NAV для x(t) и y(t) соответственно. Числа, константы, переменные, операторы и функции в выражениях могут быть разделены произвольным количеством символов пробела, табуляции и перевода строки. Количество математических действий в каждом из выражений, включая неявные действия в операторах с переменным числом аргументов, не превосходит 104.\n\nВыведите одно вещественное число — длину пути, пройденного кораблём за время T, определённое на основе кусочно-линейной интерполяции его траектории по переданным координатам. Точность ответа должна составлять не менее 2 знаков после десятичной точки.\n\n"},{"iden":"входные данные","content":"Первая строка содержит целые числа T и N (1 ≤ T ≤ 1000, 1 ≤ N ≤ T) — соответственно время, в течение которого корабль находился в пути, и интервал отправки сигналов с координатами.Следующие строки содержат два корректных выражения на языке 2NAV для x(t) и y(t) соответственно. Числа, константы, переменные, операторы и функции в выражениях могут быть разделены произвольным количеством символов пробела, табуляции и перевода строки. Количество математических действий в каждом из выражений, включая неявные действия в операторах с переменным числом аргументов, не превосходит 104."},{"iden":"выходные данные","content":"Выведите одно вещественное число — длину пути, пройденного кораблём за время T, определённое на основе кусочно-линейной интерполяции его траектории по переданным координатам. Точность ответа должна составлять не менее 2 знаков после десятичной точки."},{"iden":"примеры","content":"Входные данные1 1ttВыходные данные1.41Входные данные10 1(cos (/ (* t PI) 10.0))(sin (/ (* t PI) 10.0))Выходные данные3.13"}],"translated_statement":null,"sample_group":[],"show_order":[],"formal_statement":"**Definitions**  \nLet $ N \\in \\mathbb{Z}^+ $ be the number of generators.  \nLet $ X \\in \\mathbb{Z}^+ $ be the distance from Luke to the stormtrooper.  \nLet $ G = \\{(x_i, t_i) \\mid i \\in \\{1, \\dots, N\\}\\} $ be the set of generators, where:  \n- $ x_i \\in \\mathbb{Z}^+ $ is the distance from Luke to generator $ i $,  \n- $ t_i \\in \\{0, 1\\} $ is the type of generator: $ t_i = 1 $ if facing Luke, $ t_i = 0 $ if facing away.  \n\nGenerators are ordered such that $ x_1 < x_2 < \\dots < x_N $, and $ x_i \\neq X $ for all $ i $.  \n\n**Constraints**  \n1. $ 1 \\leq N \\leq 100{,}000 $  \n2. $ 1 \\leq X \\leq 10^9 $  \n3. $ 1 \\leq x_i \\leq 10^9 $ for all $ i $  \n4. $ x_i < x_j $ for all $ i < j $  \n\n**Objective**  \nSimulate the trajectory of a plasma bolt fired from the stormtrooper at position $ X $ toward Luke at position $ 0 $. The bolt travels leftward (toward Luke).  \n\n- A generator at $ x_i $ with type $ t_i = 1 $ (facing Luke):  \n  - If bolt arrives from the front (right), it is reflected rightward and the generator is destroyed.  \n  - If bolt arrives from the back (left), it passes through unchanged.  \n- A generator at $ x_i $ with type $ t_i = 0 $ (facing away):  \n  - If bolt arrives from the front (right), it passes through unchanged.  \n  - If bolt arrives from the back (left), it is reflected rightward and the generator is destroyed.  \n\nThe bolt is reflected by Luke’s lightsaber at position $ 0 $, reversing its direction.  \n\nLuke must reflect the bolt **each time** it returns to him after all generators are destroyed.  \n\nDetermine:  \n- If it is possible to destroy all generators without the bolt hitting the stormtrooper (i.e., the bolt never reaches $ X $ before all generators are destroyed),  \n- If possible, compute the total number of times Luke reflects the bolt (including the final reflection after all generators are destroyed, if the bolt returns to him).  \n\n**Output**  \n- $ -1 $ if it is impossible to destroy all generators.  \n- Otherwise, output the number of times Luke reflects the bolt.","simple_statement":"Luke is on a pipe with N generators between him and a stormtrooper.  \nEach generator is at distance xi from Luke and faces either toward him (type 1) or away (type 0).  \nA plasma bolt is shot from the stormtrooper toward Luke.  \n- If the bolt hits a generator facing Luke (type 1), it destroys it and stops.  \n- If it hits a generator facing away (type 0), it passes through and continues.  \nAfter all generators are destroyed, if the bolt is still coming toward Luke, he must reflect it once more.  \nThe bolt reflects off Luke’s lightsaber and reverses direction.  \nFind how many times Luke must reflect the bolt (including the final one if needed), or print -1 if it’s impossible to destroy all generators.","has_page_source":false}