{$APPTYPE CONSOLE}

type
  TFloat = Double;

var
  f: TextFile;
  i, N, start, finish: Integer;
  L, area, maxArea, k, minK: TFloat;
  x, y: array [1..10000] of TFloat;

function S(i, j: Integer): TFloat;
begin
  Result := (x[i] - x[j]) * (y[i] + y[j]);
end;

begin
//  AssignFile(f, 'input.txt'); Reset(f);
  Read(N, L);
  for i := 1 to N do begin
    Read(x[i], y[i]);
  end;
//  CloseFile(f);
  maxArea := 0;
  for start := 1 to N - 1 do begin
    area := 0; minK := 1e7;
    for finish := start + 1 to N do begin
      area := area - S(finish - 1, start) + S(finish - 1, finish) + S(finish, start);
      k := (y[finish] - y[start]) / (x[finish] - x[start]);
      if k > minK then continue;
      minK := k;
      if Sqr(x[start] - x[finish]) + Sqr(y[start] - y[finish]) > Sqr(L) then continue;
      if Abs(area) > Abs(maxArea) then maxArea := area;
    end;
  end;

//  AssignFile(f, 'output.txt'); Rewrite(f);
  Writeln(Abs(maxArea) * 0.5);
//  CloseFile(f);
end.
