现在是 2014 年。自 2013 年天才学生们在 IDI Open 上写出那些开创性的程序以来,人类已经取得了长足的进步。太空旅行已经变得像喂养你的私人鳄鱼一样平常;这是你一生中只会做一次的事情……
你想要改变这种状况,并发现太空旅行的问题在于太耗时了。因此,你决定编写一个程序,找出三维空间中两点之间最优(时间最短)的旅行路线。
由于虫洞(worm tubes)的存在,这个问题变得有些复杂。太空旅行者可以在虫洞的任何一点(在其上)进入,并在任何一点离开。这个过程不花费任何时间。虫洞被建模为三维空间中的一条线段。
除了在虫洞内,旅行时间与行进距离成正比。
输入格式
第一行包含 $T$,即测试用例的数量。每个测试用例以一行包含整数 $N$ 开始,表示空间中虫洞的数量。接下来一行包含三个整数 $s_x, s_y$ 和 $s_z$,表示你要寻找最优路线的起点。随后一行包含对应的终点 $e_x, e_y$ 和 $e_z$。
此后有 $N$ 行,描述这 $N$ 个虫洞。每个虫洞由 6 个整数 $s_{xi}, s_{yi}, s_{zi}, e_{xi}, e_{yi}$ 和 $e_{zi}$ 描述,表示该虫洞的起点和终点。
输出格式
对于每个测试用例,输出一个浮点数,表示最优路线中在虫洞之外行进的距离。
数据范围
- $0 < T \le 50$
- $0 \le N \le 50$
- $0 < p_x, p_y, p_z \le 1000$,适用于所有 $s$ 和 $e$。
- 虫洞的两个端点不重合。
- 任何相对或绝对误差在 $10^{-6}$ 以内的输出均被接受。
样例
输入格式 1
2 0 10 12 15 9 11 16 2 100 100 100 123 126 129 102 109 103 110 120 113 108 121 104 120 125 122
输出格式 1
1.7320508075688772 21.56720748874348