Au reservoir
Consider a polygonal chain. Its coordinates (x_1, y_1), (x_2, y_2), (x_3, y_3), …, (x_N, y_N) satisfy inequalities x_1 < x_2 < x_3 < … < x_N and y_i ≠ y_{i+1} for all i. Let’s draw rays upward from the leftmost (x_1, y_1) and the rightmost (x_N, y_N) vertices. Then let’s transform the plane figure into three-dimensional body with constant thickness of 1.
A reservoir was made according to these rules. Its front and back sides are plain, vertical, parallel each to other, and are at distance 1 each from other. The left and right sides (obtained from the verticals rays) are also plain, vertical and parallel each to other. The bottom of the reservoir is obtained from the initial polygonal chain. The reservoir is mounted so that irrespective of the bottom shape and of filling level it will never turn over.
V cubic units of water are carefully filled into the reservoir, from its left side. Your task is to write a program, calculating the area of resulting water surface.
Input
Program should read from input the number of vertices in polygon chain N (2 ≤ N ≤ 123456), than N pairs of integers x_1 y_1 x_2 y_2 … x_N y_N, meaning the coordinates of the vertices, and, at last, the water volume V. All coordinates are integers in range from –10^6 to 10^6; volume is an integer in range 0 ≤ V ≤ 10^12.
Output
Program should output exactly one floating-point number — the area of final water surface. Absolute accuracy of the answer should not be worse than 10^{–3}.