#P1023. Disaster

Disaster

题目描述

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

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

输入格式

11 行只包含一个整数 TT0<T200 < T \leq 20),表示一共有 TT 组测试数据。
从第 22 行到第 T+1T + 1 行每行为一组测试数据,每行包含 77 个非负整数,其格式为:
x1x_1 y1y_1 r1r_1 x2x_2 y2y_2 r2r_2 PP
他们的取值范围均不会超过 10001000

输出格式

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

样例输入

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

样例输出

392.70
1916.35