I. Piecewise Linear Functions
time limit per test
3 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Vadim is a big fan of piecewise linear functions. They have their limitations, and not every function can be represented as piecewise linear. Vadim will gladly tell you what they are.

A function is called piecewise linear if its graph can be represented as a polyline with $$$N$$$ vertices. Specifically, it is defined by $$$n$$$ pairs of numbers $$$(x_1, y_1), (x_2, y_2), \ldots, (x_N, y_N)$$$, which are the coordinates of the vertices of the polyline. The condition must hold that $$$$$$x_1 \lt x_2 \lt x_3 \lt \ldots \lt x_N.$$$$$$

This set of points defines a function of one argument, whose value at $$$x_i$$$ is $$$y_i$$$, and on the intervals between these points, it is linear. The domain of such a function is the segment $$$[x_1, x_N]$$$.

Valya invented his own class of functions with one variable, which he called modular. A modular function consists of $$$N$$$ terms, each of which has one of two forms: $$$|a_i \cdot x + b_i|$$$ or $$$-|a_i \cdot x + b_i|$$$. Here, $$$x$$$ is the variable, and $$$a_i$$$ and $$$b_i$$$ are the parameters of the function, while $$$| \ldots |$$$ denotes the absolute value. Thus, a modular function with $$$N$$$ terms has the form $$$$$$\pm|a_1 x + b_1| \pm |a_2 x + b_2| \pm \ldots \pm |a_N x + b_N|.$$$$$$

Vadim wanted to check whether modular functions are not worse than his favorite piecewise linear ones. He brought a piecewise linear function with $$$N$$$ vertices. Now try to find a modular function with exactly $$$N$$$ terms that is identically equal to the given piecewise linear function on the segment $$$[x_1, x_N]$$$.

Input

The first line contains an integer $$$N$$$ — the number of vertices of the polyline $$$(2 \le N \le 10^5)$$$.

Next, there are $$$n$$$ lines, each containing two integers $$$x_i$$$, $$$y_i$$$ — the coordinates of the next vertex ($$$-10^5 \le x_i, y_i \le 10^5$$$).

It is guaranteed that the coordinates $$$x_i$$$ are strictly increasing, that is, $$$$$$x_1 \lt x_2 \lt x_3 \lt \ldots \lt x_N.$$$$$$

Output

Output a single line containing the modular function with exactly $$$N$$$ terms that is identically equal to the given piecewise linear function on the segment $$$[x_1, x_N]$$$. Follow the format shown in the examples.

The function should consist of $$$N$$$ terms $$$|a_i x + b_i|$$$, separated by the signs + and - (codes 43 and 45). It is allowed to place a leading minus before the first term. Each term must be enclosed in two symbols | (code 124). Inside the term, there must be a sign + (or -, if $$$b_i$$$ is negative). The left operand consists of a real number $$$a_i$$$ and the variable $$$x$$$ (code 120); the multiplication sign between them does not need to be written, it is implied. It is not allowed to omit $$$a_i$$$ or $$$b_i$$$, even if $$$a_i = 1$$$ or $$$b_i = 0$$$; the left operand cannot be omitted if $$$a_i = 0$$$.

There must be exactly $$$N$$$ such terms. It is allowed to use terms that are identically equal to zero. They can be written as |0x+0|.

The size of the output file must not exceed $$$8$$$ MB. The answer is considered correct if at any point in the segment $$$[x_1, x_N]$$$, the value of your modular function differs from the value of the given piecewise linear function by no more than $$$0.01$$$.

Examples
Input
2
1 0
2 1
Output
-|0x-1|+|1x+0|
Input
2
0 1
1 2
Output
|1x-0|+|0x+1|
Input
3
-1 1
0 -1
1 0
Output
|-0.5x+1|-|0x-2|+|-1.5x-0|
Note

Illustration for the third example: