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

小红的房子仅有一个灯泡。有一天,她发现她的影子长度随着她在灯泡和墙壁之间走动发生着变化。一个突然的想法出现在脑海里,她想知道她的影子的最大长度。

如下图所示,影子的长度使用

标注,需要同时计算影子在地面和墙壁的长度之和。
输入描述:
每个测试文件均包含多组测试数据。第一行输入一个整数
代表数据组数,每组测试数据描述如下:

在一行上输入三个小数点后位数不超过两位的实数
)
代表灯泡的高度、小红的身高、灯泡和墙的水平距离。您可以参考题干中的图片获取更直观的认知。
输出描述:

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

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