Problem 1023. -- Disaster

1023: Disaster

Time Limit: 1 Sec  Memory Limit: 29 MB
Submit: 2  Solved: 1
[Submit][Status][Web Board]

Description

翠花同学的家里有一大片耕地,专门用来种植用于生产饲料的某种作物。近年来,由于人类对自然的破坏越来越严重,莫名其妙的自然灾害也多了起来。为尽量减少诸如洪水、蝗灾等造成的损失,未卜先知的翠花早早就为他的这块宝地买了保险。果然,很快他的宝地就遭到了意想不到的破坏。话说某年某月某日,天空中突然出现一亮点,随后一块陨石疾速落下,轰的一声,不偏不倚地在翠花的耕地上砸了一个大坑。就在翠花正为这突如其来的事故而感到震惊时,突然天空中又出现了一个亮点,接着又一块陨石砸在翠花的耕地上,形成了第二个坑。
“还好买了保险!”翠花心里想着。不过,按照条约,赔偿金额和耕地受破坏的面积是有关的,保险公司会先派人实地考察并计算出耕地受损失的面积,然后为每平方米的损失赔偿P元。而为了不上当受骗,翠花决定先自己算算具体的赔偿金额。
陨石砸在地上以后,会形成圆形的陨石坑。两块陨石均砸在翠花的耕地上,其中一个坑的圆心在(x1,y1)处,并且半径为r1,另一个坑的圆心为(x2,y2),半径为r2。坑以外的耕地没有被破坏。根据陨石落下的位置,两个坑可能存在公共部分,如下图:

现在翠花想请你帮忙设计一个程序,计算保险公司应该赔偿的实际金额数。

Input

第1行只包含一个整数T(0<T≤20),表示一共有T组测试数据。
从第2行到第T+1行每行为一组测试数据,每行包含7个非负整数,其格式为:
x1 y1 r1 x2 y2 r2 P
他们的取值范围均不会超过1000。

Output

共T行,每行对应一组测试数据的答案(将第I组测试数据对应的赔偿金额输出在第I行)。
对于每个输出,请严格四舍五入到两位小数(也就是说,1要输出成1.00)。

Sample Input

2
0 0 10 20 0 5 1
25 38 10 25 51 5 5

Sample Output

392.70
1916.35


HINT

Source

[Submit][Status]