#abc183b. [abc183_b]Billiards

[abc183_b]Billiards

题目描述

高桥正在一个二维平面上打台球。xx 轴作为墙,当球击中该轴时,它将从轴上弹开,使得入射角等于反射角。

高桥的球现在位于 (Sx,Sy)(S_x,S_y)。当他击球瞄准某个点时,球会沿着直线滚向那个点。

为了让球正好击中 xx 轴一次,然后通过 (Gx,Gy)(G_x, G_y),他应该瞄准 xx 轴的什么位置?

约束条件

  • \-106leqSx,Gxleq106\-10^6 \\leq S_x, G_x \\leq 10^6
  • 0<Sy,Gyleq1060 < S_y, G_y \\leq 10^6
  • SxneqGxS_x \\neq G_x
  • 输入中的所有值都是整数。

输入

从标准输入读入数据,输入格式如下:

SxS_x SyS_y GxG_x GyG_y

输出

假设 (x,0)(x, 0) 是高桥应该瞄准的点。输出 xx

当输出的值与我们的答案的绝对误差或相对误差不超过 10610^{-6} 时,将被视为正确。

示例输入 1

1 1 7 2

示例输出 1

3.0000000000

如下所示,我们可以通过击球瞄准 (3,0)(3, 0) 使球通过 (7,2)(7, 2)

图示

示例输入 2

1 1 3 2

示例输出 2

1.6666666667

图示

示例输入 3

-9 99 -999 9999

示例输出 3

-18.7058823529

当输出的值与我们的答案的绝对误差或相对误差不超过 10610^{-6} 时,将被视为正确。