Problem Statement 
 You are given two polygons, described by two String[]s polygon1 and polygon2. The elements of polygonx (x=1 or 2) consist of two space separated integers describing the coordinates of the vertices of polygon x in counterclockwise order.
Both polygons will be convex and have nonzero areas. Furthermore the two polygons will be such that a vertex of one polygon won't lie on the sides of the other.
Return the area of the overlap of the two polygons.


Definition 
 Class:  ConvexPolygons  Method:  overlap  Parameters:  String[], String[]  Returns:  double  Method signature:  double overlap(String[] polygon1, String[] polygon2)  (be sure your method is public) 




Notes 
  A polygon being convex means: every straight line joining any two interior points of the polygon is entirely contained in the interior of the polygon. 
  A return value with either an absolute or relative error of less than 1e9 is considered correct. 

Constraints 
  polygon1 and polygon2 each have between 3 and 50 elements, inclusive. 
  Each element of polygon1 and polygon2 has length between 1 and 50, inclusive. 
  Each element of polygon1 and polygon2 consists of two space separated integers with values between 1000 and 1000, inclusive. 
  Both polygons will be convex and have nonzero areas. 
  Both polygons will be such that a vertex of one polygon won't lie on the sides of the other. 
  The points described by polygon1 and polygon2 will be in counterclockwise order. 

Examples 
0)  
 {"00 00","02 00","00 03"}  {"1 1","3 1","3 3", "1 3"} 
 Returns: 0.08333333333333326  

1)  
 {"1 1","1 1","1 1","1 1"}  {"2 2","0 2","2 2","2 0","2 2","0 2","2 2","2 0"} 
 Returns: 4.0  When one polygon encloses the other, the overlap is the area of the smaller one.



2)  
 {"1 1","2 1","1 2"}  {"1 1","2 1","1 2"} 
 Returns: 0.0  They don't overlap.



3)  
 {"2 0","1 2","1 2","2 0","1 2","1 2"}  {"0 3","1 1","2 2","1 0"} 
 Returns: 5.233333333333333  
