P24069 [AtCoder] Billiards
入门
题目描述

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?

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}.

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.

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).

Sample Input 2

1 1 3 2

Sample Output 2

1.6666666667

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 部分

输出格式

见题面 Output 部分

样例输入
1 1 7 2
样例输出
3.0000000000