灯泡
题号:NC50238
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小红的房子仅有一个灯泡。有一天,她发现她的影子长度随着她在灯泡和墙壁之间走动发生着变化。一个突然的想法出现在脑海里,她想知道她的影子的最大长度。
\hspace{15pt}如下图所示,影子的长度使用 L 标注,需要同时计算影子在地面和墙壁的长度之和。
\hspace{15pt}L
无标题.jpg

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\le T\le 100\right) 代表数据组数,每组测试数据描述如下:

\hspace{15pt}在一行上输入三个小数点后位数不超过两位的实数 H,h,D \left( 10^{-2} \le H, h, D \le 10^3;\ 10^{-2} \le H - h \right) 代表灯泡的高度、小红的身高、灯泡和墙的水平距离。您可以参考题干中的图片获取更直观的认知。

输出描述:

\hspace{15pt}对于每一组测试数据,在一行上输出一个实数,代表影子的最大长度。

\hspace{15pt}由于实数的计算存在误差,你需要准确的将答案保留到小数点后三位。

示例1

输入

复制
3
2 1 0.5
2 0.5 3
4 3 4

输出

复制
1.000
0.750
4.000