Flato lives in Flatburg, the capital of Flatland, and he just bought a new flat! His only problem is that while the movers brought in his favorite couch, they have put it in the wrong place. Now Flato wants to fix this by moving his couch, but it is pretty long. Can you help Flato?
As with all flats in Flatland, Flato's flat is a convex polygon. His favorite couch is infinitely thin, so we would represent it as a segment. Formally speaking, we have a polygon P representing the flat and a segment AB inside the polygon representing the couch. We say that couch can reach position CD if there are 2 continuous functions f and g from \[0,1] to the inside or the boundary of P such that f(0)=A,f(1)=C,g(0)=B,g(1)=D and ∣f(x)g(x)∣=∣AB∣ for 0≤x≤1. Your task is to find the maximal possible value of the angle between the lines AB and CD for all the reachable positions CD. The angle between lines is defined as the minimum of two angles at the point of intersection, or 0 if lines are parallel.
The first line of the input contains five integers n, x_A, y_A, x_B, and y_B (3≤n≤50; −15,000≤x_A,y_A, x_B,y_B≤15,000) --- the number of vertices in P and the coordinates of the ends of the couch.
The next n lines contain two integers x and y each (−15,000≤x,y≤15,000) --- the coordinates of the polygon vertices in counter-clockwise order.
It is guaranteed that both A and B are either inside or on the boundary of P and that the polygon is convex.
Output the maximal angle in degrees as described in the problem statement. Your output will be considered correct if its absolute or relative error does not exceed 10−6.
The angle between two lines is always between 0 and 90 degrees. Pictures for both samples with the initial and one of the possible final positions with the largest angle are shown below.
