Hide

Problem B
Doors

Alex is a circle of radius $R$. Well, life as a circle is not easy. If he were a point, moving around and passing through doors would be effortless. But now he has to carefully inspect the surroundings before making every move.

\includegraphics[width=.6\textwidth ]{figure}

Alex’s is initially at position $(0, y_\infty )$, where $y_\infty $ is much bigger than the width of the corridor $w$. Alex wants to meet Bob, who happens to be living to the far right of the corridor (may as well be somewhere at $(x_\infty , w/2)$, where $x_\infty $ is much bigger than $\ell $). The lengths of the two doors are $\ell $. It is guaranteed that $\ell \leq w$, so that door B will never hit the opposite side of the wall.

You are given $T$ scenarios. In each scenario, the angles $A$ and $B$ are given (both are radians in the range $[0, \pi ]$). Find the largest $r \leq R$ such that when Alex’s radius is shrunk to $r$, he can reach Bob while avoiding the obstacles (walls and doors).

Formally, Alex when shrunk to radius $r$ can reach Bob if and only if there exists a (continuous) curve from $(0, y_\infty )$ to $(x_\infty , w/2)$ such that the minimal distance between a point on the curve and a point on an obstacle (a wall or a door) is at least $r$. In particular, if $r = 0$ then Alex will be able to reach Bob.

Input

The first line of input consists of three integers, $R$, $\ell $, and $w$ ($1 \leq \ell , w, R \leq 100$ and $\ell \leq w$). The second line of input consists of an integer $T$ ($1 \leq T \leq 10\, 000$), the number of scenarios to follow. Each of the next $T$ lines consists of a pair of real numbers, representing angles $A$ and $B$ (in radians). The numbers are given with exactly $4$ decimal places.

Output

For each scenario, output the required answer on a separate line. Your answer will be accepted if its absolute or relative error (compared to the judge’s answer) is at most $10^{-5}$.

Sample Input 1 Sample Output 1
10 6 8
4
0.0000 0.0000
3.1415 0.0000
1.0472 0.0000
1.0472 1.5708
0.000000000
3.000000000
2.598079885
1.000000000

Please log in to submit a solution to this problem

Log in