× 1005 题面更新,请注意。

杏杏和正方形和矩形

Accepts: 28
Submissions: 399
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 32768/32768 K (Java/Others)
Problem Description

在二维坐标平面上,有一个正方形,它的四个顶点是(1,1),(0,0),(0,1),(1,0)(1,1),(0,0),(0,1),(1,0)。现在杏杏随便选出了四个正方形边界上的点。对于每一个点,你都可以沿着正方形的边界按照顺指针或逆时针方向移动任意距离。你可以不移动任意一个点,也可以依次移动多个点。你的目标是:为每个点选择正方形的一条边上的一个位置,且为不同的点选择不同的边,使得这四个点组成一个矩形的四个顶点。问四个点的移动距离的和至少是多少。(两条邻边上的点所选的位置可以重合在这两条邻边共用的顶点。矩形的面积可以为00,此时要求矩形的四个顶点去重后恰好有两个点。)

Input

第一行一个整数nn表示数据组数(1n1001\le n\le 100)。

接下来每组数据四行,每行两个实数xxyy表示一个点的坐标。

所有实数最多有77位小数,所有点均保证在题目中的正方形的边界上。(允许多个点的初始位置重合或者处于正方形的同一条边上。)

Output

对于每组数据输出一行一个实数表示答案,保留12位小数。

Sample Input
2
0 0
1 1
0 1
1 0
0.12 1.00
.91 .0
1. .08
0 .89
Sample Output
0.000000000000
0.060000000000