Cutting the Cake
Pasha received a cake for his birthday, decorated with cream roses and cherries. He wants to cut a piece of the cake that includes at least one cream rose but no cherries.
Visualize the cake as a square viewed from above. By setting up a rectangular Cartesian coordinate system with the origin at the center of the cake, one corner of the cake is at (–10^6, –10^6) and the opposite corner is at (10^6, 10^6). All cream roses and cherries are located strictly within this square.
Pasha plans to make a single straight cut and prefers the angle between this cutting line and the Ox axis to be as small as possible.
Your task is to determine if Pasha can cut the cake as described and find the smallest possible angle between the cutting line and the Ox axis.
If a cream rose or a cherry lies exactly on the cutting line, assume Pasha can adjust the cut so that the rose or cherry ends up on the desired side.
In the illustration, the optimal cutting line for the first example is shown as a dashed line. Red points indicate the locations of the roses, while blue points indicate the locations of the cherries.
Illustration: Arrangement of roses and cherries for the first example
Input
The first line contains an integer n (1 ≤ n ≤ 100000) — the number of cream roses. Each of the next n lines contains two integers representing the coordinates of a rose.
The following line contains an integer m (1 ≤ m ≤ 100000) — the number of cherries. Each of the next m lines contains two integers representing the coordinates of a cherry.
No two points where the cream roses and cherries are located coincide. The coordinates of the roses and cherries are strictly less than 10^6 in absolute value.
Output
If it is impossible to cut a piece of the cake as specified, output the word Impossible.
Otherwise, output the minimum angle between the Ox axis and the cutting line, in radians, with a precision of at least 10^{–4}.