三角形打野
题号:NC261035
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

小i的生活总是不顺,在他出门去便利店的路上,他不幸被卡车撞到,在他醒来的时候,他居然穿越到了二维平面异世界!

这个异世界非常奇特,异世界的范围由x轴正半轴以及一条从原点出发经过第一象限的射线之间的区域构成。

在异世界想要生存下去不是一件容易的事情,为了保护自己,小i学习了一种技能,他可以画一条直线(不能经过原点),与两条射线形成一个三角形,并杀死三角形内部和边界上的野怪(这样他就安全了),代价是三角形的面积。

现在,异世界出现了两只野怪,小i想知道,杀死这两只野怪的最小代价是什么。

简单来说,给定x轴正半轴,以及从原点出发的一条射线(在第一象限内),以及两个点(保证这两个点在给定射线与x正半轴夹角范围内,而不在x轴或给定的射线上),请你做一条直线,使得这条直线与x正半轴和给定射线组成的三角形将给定的两个点包含在内或边界上。求满足条件的三角形的最小面积。



AOB即为一个合法的三角形示例。 


输入描述:

输入共T组数据(T<=10000)。

每组数据先输入一行两个整数Y,X,Y/X即为射线的斜率。

再输入一行4个整数X1,Y1,X2,Y2。

(X1,Y1),(X2,Y2)分别表示这两个点的坐标。

(1<=Y,X,X1,X2,Y1,Y2<=100,两个点的坐标可能相等)

输出描述:

对于每组数据,输出一行一个答案。

当你的答案与标准答案差异在0.001以内,将被认为是正确的。
示例1

输入

复制
1
2 1
1 1 2 2

输出

复制
4.000000000