#P2333. Beach cut

Beach cut

Description

The seashore is represented by a polyline without self-intersections, described by a sequence of vertices (x1, y1), ... (x

N

, y

N

). It also has a property that x

i

< x

i + 1

. The sea is above the line, and the beach -- below.

Your program must connect two vertices with a straight line not longer than L chosen so as to maximize the beach area enclosed between that line and the shore. The line must not intersect with the sea and may only touch, not intersect, the shore polyline. Constraints

3 ≤ N ≤ 5000, 0 ≤ xi, yi, L ≤ 1000000

Input

Input contains integer numbers N L, followed by N pairs of integers x1 y1 … x

N

y

N

.

Output

Output must contain a single floating point value -- the maximum area that can be cut (it may be zero). The area must be output exactly, i.e. without any rounding at all.

5 4
0 0  1 3  2 0  3 3  4 0
6

Source

Northeastern Europe 2003

, Far-Eastern Subregion