Potato

No attempts yetTime limit1sMemory limit128 MB

Problem

Marcin is peeling a potato. To keep things simple, assume the potato is a convex polygon whose boundary is called the rind. (A convex polygon is a polygon in which every interior angle is smaller than 180180^\circ.)

Marcin peels the potato with straight cuts. For each cut he chooses a straight line, cuts along it, and throws away one of the two resulting pieces. Every point lying exactly on the cut line is discarded as well, so cutting along a line that contains an edge of the rind peels that edge off.

The potato counts as fully peeled once it no longer contains any point of the original rind. Marcin wants to do as little work as possible, so he limits the number of cuts, yet he still wants the peeled potato to be as large as possible. Given the shape of the potato, what is the largest possible area of the peeled potato when at most kk cuts are allowed?

Your program should:

  • read the description of the potato from standard input,
  • determine the largest possible area of the peeled potato when at most kk cuts may be performed,
  • write the result to standard output.

Input

The first line contains two integers nn and kk (3n1003 \le n \le 100, 3kn3 \le k \le n) separated by a single space: nn is the number of vertices of the convex polygon that represents the potato, and kk is the maximum number of cuts Marcin may perform. Each of the next nn lines contains two integers xx and yy (10000x,y10000-10\,000 \le x, y \le 10\,000), the coordinates of a vertex. The vertices are listed in order around the polygon, either clockwise or counter-clockwise.

Output

Print a single real number with exactly one digit after the decimal point: the largest possible area of the peeled potato obtainable with at most kk cuts. Do not round the value; the second and later digits after the decimal point do not affect correctness.

Hint

The figure above shows how a potato can be peeled optimally with 33 cuts.