101831: [AtCoder]ABC183 B - Billiards

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Score : $200$ points

Problem Statement

Takahashi is playing billiards on a two-dimensional plane. The $x$-axis functions as a wall; when a ball hits the axis, it will bounce off the axis so that the angle of incidence equals the angle of reflection.

Takahashi's ball is now at $(S_x,S_y)$. When he strikes the ball aiming for some point, it will roll in a straight line towards that point.

To make the ball hit the $x$-axis exactly once and then pass $(G_x, G_y)$, where along the $x$-axis should he aim for?

Constraints

  • $-10^6 \leq S_x, G_x \leq 10^6$
  • $0 < S_y, G_y \leq 10^6$
  • $S_x \neq G_x$
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

$S_x$ $S_y$ $G_x$ $G_y$

Output

Let $(x, 0)$ be the point Takahashi should aim for. Print $x$.

Your output will be considered correct when its absolute or relative error from our answer is at most $10^{-6}$.


Sample Input 1

1 1 7 2

Sample Output 1

3.0000000000

As shown below, we can make the ball pass $(7, 2)$ by striking it aiming for $(3, 0)$.

Figure


Sample Input 2

1 1 3 2

Sample Output 2

1.6666666667

Figure


Sample Input 3

-9 99 -999 9999

Sample Output 3

-18.7058823529

The output will be considered correct when its absolute or relative error from our answer is at most $10^{-6}$.

Input

加入题单

上一题 下一题 算法标签: