在笛卡尔坐标系上有两个点 $A$ 和 $B$,以及一个障碍圆 $O$。
现在,你需要选择圆 $O$ 边界上的一个点 $C$,然后将点 $A$ 和点 $B$ 同时移动到点 $C$。在移动过程中,点 $A$ 或点 $B$ 的路径只能在圆 $O$ 的外部或其边界上。
你的目标是最小化总移动距离,即点 $A$ 的移动距离与点 $B$ 的移动距离之和。
输入格式
第一行包含一个整数 $t$ ($1 \le t \le 10^6$),表示测试用例的数量。
每个测试用例占一行,包含七个整数 $x_1, y_1, x_2, y_2, x_3, y_3, r$,其中 $-10^3 \le x_1, y_1, x_2, y_2, x_3, y_3 \le 10^3$ 且 $1 \le r \le 10^3$。这里,$A = (x_1, y_1)$,$B = (x_2, y_2)$,且 $O$ 是一个圆心为 $(x_3, y_3)$、半径为 $r$ 的圆。保证 $A$ 和 $B$ 均不在圆 $O$ 的内部。
输出格式
对于每个测试用例,输出一行,包含一个实数:答案保留三位小数。
保证第四位小数既不是 4 也不是 5。
样例
样例输入 1
3 0 0 2 2 1 1 1 0 0 2 2 1 0 1 0 0 2 2 1 -1 1
样例输出 1
3.571 2.927 3.116