### Problem Statement

We are going to plant a tree on level ground near a streetlight, and we want to know how big a shadow it will cast. We will model the tree as a (possibly degenerate) rectangular solid, and treat the streetlight as casting rays from a single point. We will use an x,y,z coordinate system that is aligned with the rectangular solid and in which y is the distance above ground level.

int[] tree contains exactly 6 elements, namely the x,y,z coordinates of one corner of the rectangular solid followed by the coordinates of the diagonally opposite corner. int[] light contains exactly 3 elements, the x,y,z coordinates of the streetlight. Given tree and light, return the area of the shadow, or return -1 to indicate that the shadow has an infinite area. If the shadow is an infinitely long line, return 0 as its area.

### Definition

 Class: Shadow Method: area Parameters: int[], int[] Returns: double Method signature: double area(int[] tree, int[] light) (be sure your method is public)

### Notes

-A return value with either an absolute or relative error of less than 1.0E-9 is considered correct.

### Constraints

-tree will contain exactly 6 elements.
-light will contain exactly 3 elements.
-Each element of tree and of light will be between 1 and 10, inclusive.
-The coordinates of the light will not lie on the boundary of the tree.

### Examples

0)

 `{1,1,1, 10,1,1}` `{5,5,5}`
`Returns: 0.0`
 This tree is just a line so its shadow has no area.
1)

 `{1,3,1, 10,1,1}` `{2,2,2}`
`Returns: -1.0`
 This tree is just a rectangle. Its shadow covers an infinite rectangular area on the ground.
2)

 `{1,1,1, 2,2,2}` `{3,3,3}`
`Returns: 15.75`
 This is a unit cube one unit above the ground. The shadowed area is a six-sided polygon.
3)

 ` {1,1,1, 3,3,3} ` `{2,2,2}`
`Returns: -1.0`
 When the light is inside the tree the shadow extends everywhere.

#### Problem url:

http://www.topcoder.com/stat?c=problem_statement&pm=7336

#### Problem stats url:

http://www.topcoder.com/tc?module=ProblemDetail&rd=10660&pm=7336

dgoodman

#### Testers:

PabloGilberto , brett1479 , Olexiy , lovro

Geometry