Кусочно-линейные функции

아직 제출이 없습니다시간 제한3초메모리 제한1024 MB

문제

Вадим --- большой фанат кусочно-линейных функций. Они имеют свои ограничения, и не любую функцию можно представить как кусочно-линейную. Вадим вам с радостью расскажет, что это такое.

Функция называется кусочно-линейной, если её график можно представить ломаной из nn вершин. А именно, она задаётся nn парами чисел (x_1,y_1),(x_2,y_2),,(x_n,y_n)(x\_1, y\_1), (x\_2, y\_2), \ldots, (x\_n, y\_n), которые являются координатами вершин ломаной. Обязательно должно выполняться условие x_1<x_2<x_3<<x_n.x\_1 < x\_2 < x\_3 < \ldots < x\_n.

Этот набор точек задаёт функцию от одного аргумента, значение которой в x_ix\_i равно y_iy\_i, а на промежутках между этими точками она линейная. Область определения такой функции --- это отрезок \[x_1,x_n]\[x\_1, x\_n].

Валя придумал свой класс функций с одной переменной, которые он назвал модульными. Модульная функция состоит из nn слагаемых, каждое из которых имеет один из двух видов: a_ix+b_i|a\_i \cdot x + b\_i| или a_ix+b_i-|a\_i \cdot x + b\_i|. Здесь xx --- переменная, а a_ia\_i и b_ib\_i --- параметры функции, а | \ldots | обозначает взятие по модулю. Таким образом, модульная функция с nn слагаемыми имеет вид ±a_1x+b_1±a_2x+b_2±±a_nx+b_n.\pm|a\_1 x + b\_1| \pm |a\_2 x + b\_2| \pm \ldots \pm |a\_n x + b\_n|.

Вадим захотел проверить, не хуже ли модульные функции его любимых кусочно-линейных. Он принёс кусочно-линейную функцию с nn вершинами. Постарайтесь теперь найти модульную функцию с ровно nn слагаемыми, которая будет тождественна равна данной кусочно-линейной на отрезке \[x_1,x_n]\[x\_1, x\_n].

입력

В первой строке дано целое число nn --- количество вершин ломаной (2n105)(2 \le n \le 10^5).

Далее идёт nn строк, в каждой из которых через пробел даны два целых числа x_ix\_i, y_iy\_i --- координаты очередной вершины (105x_i,y_i105-10^5 \le x\_i, y\_i \le 10^5).

Гарантируется, что координаты x_ix\_i идут строго по возрастанию, то есть x_1<x_2<x_3<<x_n.x\_1 < x\_2 < x\_3 < \ldots < x\_n.

출력

Выведите в единственной строке модульную функцию из ровно nn слагаемых, тождественно равную данной кусочно-линейно функции на отрезке \[x_1,x_n]\[x\_1, x\_n]. Придерживайтесь формата, показанного в примерах.

Функция должна состоять из nn слагаемых a_ix+b_i|a\_i x + b\_i|, разделённых знаками + и - (коды 43 и 45). Разрешается перед первым слагаемым поставить ведущий минус. Каждое слагаемое должно быть взято по модулю двумя символами | (код 124). Внутри слагаемого должен быть знак + (или -, если b_ib\_i отрицательно). Левый операнд состоит из вещественного числа a_ia\_i и переменной xx (код 120); знак умножения между ними не нужно писать, он подразумевается. Опускать a_ia\_i или b_ib\_i нельзя, даже если a_i=1a\_i = 1 или b_i=0b\_i = 0; нельзя также опускать левый операнд, если a_i=0a\_i = 0.

Таких слагаемых должно быть ровно nn. Разрешено использовать слагаемые, тождественно равные нулю. Они могут быть записаны как |0x+0|.

Размер выходного файла должен быть не больше 88 МБ. Ответ считается правильным, если в любой точке отрезка \[x_1,x_n]\[x\_1, x\_n] значение вашей модульной функции отличается от значения данной кусочно-линейной не более, чем на 0.010.01.

힌트

Иллюстрация к третьему примеру: