Search Result

Time Limit: 1 Second    Memory Limit: 32768 KB

The seashore is represented by a polyline without self-intersections, described by a sequence of vertices (x1, y1), ..., (xN, yN). It also has a property that xi < xi+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 ... xN yN.

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.


This problem contains multiple test cases!

The first line of a multiple input is an integer N, then a blank line followed by N input blocks. Each input block is in the format indicated in the problem description. There is a blank line between input blocks.

The output format consists of N output blocks. There is a blank line between output blocks.

Sample Input

2
 
5 4
0 0 1 3 2 0 3 3 4 0
 
3 10
100 100 101 0 102 100

Sample Output

6
 
0
Submit

Source: Northeastern Europe 2003, Far-Eastern Subregion