Pasha received a cake for his birthday, decorated with two types of toppings: cream roses and cherries. He wants to cut himself a piece of cake that contains at least one cream rose, but no cherries.
Imagine the cake as a square when viewed from above. If we set up a rectangular Cartesian coordinate system with the origin at the center of the cake and the axes parallel to the sides, then the coordinates of one corner of the cake are (-10^6, -10^6), and the opposite corner has coordinates (10^6, 10^6). All cream roses and cherries are strictly inside this square.
To cut a piece, Pasha wants to make a single straight cut. To make cutting easier, he wants the angle between the cutting line and the axis to be as small as possible.
Your task is to determine whether Pasha can cut the cake as described and, if so, find the minimal possible angle between the cutting line and the axis.
If a cream rose or a cherry is exactly on the cutting line, Pasha can make the cut so that the rose or cherry ends up on the correct side as needed.
In the illustration, the optimal cut for the first example is shown with a dashed line. Red points indicate roses, blue points indicate cherries.

Illustration: Arrangement of roses and cherries for the first example
The first line contains integer (1 \le n \le 100000), the number of cream roses. Each of the next lines contains two integers, the coordinates of a cream rose.
The following line contains integer (1 \le m \le 100000), the number of cherries. Each of the next lines contains two integers, the coordinates of a cherry.
No two points with cream roses and cherries coincide. The coordinates of all roses and cherries are strictly less than 10^6 in absolute value.
If it is impossible to cut the cake in the described way, print Impossible.
Otherwise, print the minimum angle between the axis and the cutting line, in radians, with precision at least 10^{-4}.
Example 1