HZNUOJ

与班尼特·胡迪一起玩绝地求生

Tags:
Time Limit:  1 s      Memory Limit:   256 MB Special Judge
Submission:29     AC:7     Score:99.62

Description

班尼特·胡迪 和 CCJ 正玩着绝地求生,突然 班尼特·胡迪 碰到敌人,马上喊 CCJ 让他过来,此时,地图上有一片以O为圆心,R为半径的轰炸区。保险起见,CCJ 选择不经过轰炸区,可在边缘上行走。

CCJ 想尽可能快的到达 班尼特·胡迪 的地方,请问 CCJ 到 班尼特·胡迪 的最短距离为多少。

Input

第一行输入一个T,表示T组数据。

接下来T行,每行为7个整数,Ax,Ay,Bx,By,Ox,Oy,R

其中 (Ax,Ay) 表示班尼特·胡迪所在的坐标,(Bx,By) 表示 CCJ 所在的坐标,(Ox, Oy) 表示轰炸区圆心坐标,R 表示轰炸区半径。

输入保证各个数都在[-100,100]的范围内,且 班尼特·胡迪 和 CCJ 都在轰炸区外。

Output

输出最短距离。与标准答案相差 0.0001 以下的答案均将被视为正确。

如:

标准答案为 0.11110000000

以下答案均被视为正确

0.1111100000

0.1111110000

以下答案将被视为错误

0.11120000

Samples

input
2 0 2 2 0 0 0 1 -2 0 4 1 0 0 1
output
2.828427124746 6.255649583167

Hint

样例一如图所示,图中AB线段长度即为最短距离

样例二如图所示,图中AD + 弧DE + BE 的 长度即为所求的最短距离

Author

CHEN, Zequn

Source

杭州师范大学第十一届程序设计竞赛