const
zero=1e-7;
var
wyw,m,n,tt,t2,r,i,j,rec1,rec2:longint;
max,jx,jy:extended;
f:array[0..2]of longint;
lgx,lgy:array[0..2]of extended;
a,b,c,x,y,x2,x3,y2,y3:array[0..10000]of extended;
procedure bian1(i,j,k:longint);
var
t:longint;
temp:extended;
begin
a[k]:=x[i]-x[j];
b[k]:=y[i]-y[j];
if abs(a[k])>=zero then
begin
temp:=r*sqrt(1+sqr(b[k]/a[k]));
if a[k]*(a[k]*y[0]-b[k]*x[0]-c[k])>0 then
c[k]:=c[k]-temp*a[k];
end
else
if b[k]*(b[k]*x[o]+c[k])>0 then
c[k]:=c[k]-r*b[k]
else
c[k]:=c[k]+r*b[k];
end;
procedure bian2(i,j,k:longint);
var
t:longint;
temp:extended;
begin
a[k]:=x2[i]-x2[j];
b[k]:=y2[i]-y2[j];
c[k]:=a[k]*y2[i]-b[k]*x2[i];
end;
procedure jiao(i,j,k:longint);
var
t:longint;
temp:extended;
begin
jx:=-1;
jy:=-1;
if a[i]*b[j]=a[j]*b[i] then
exit;
if b[i]=0 then
begin
t:=i;
i:=j;
j:=t;
end;
temp:=b[j]/b[i];
y3[k]:=(c[i]*temp-c[j])/(a[i]*temp-a[j]);
x3[k]:=(a[i]*y3[k]-c[i])/b[i];
end;
function dist(i,j:longint):extended;
begin
dist:=sqrt(sqr(x2[i]-x2[j])+sqr(y2[i]-y2[j]));
end;
procedure main(j:longint);
var
i,now:longint;
last,temp1,temp,search:extended;
begin
m:=0;
bian1(j,j+1,1);
search:=a[1]*y[j]-b[1]*x[j]-c[1];
if search>0 then
search:=-1
else
search:=1;
x2[tt+1]:=x2[1];
y2[tt+1]:=y2[1];
t2:=0;
last:=0;
ffor i:=1 to tt do
begin
temp:=a[1]*y2[i]-b[1]*x2[i]-c[1];
if (i>1) and (last*temp<0) then
begin
bian2(i-1,i,2);
inc(t2);
jiao(1,2,t2);
end;
if (temp*search>0) or (abs(temp)<zero) then
begin
inc(t2);
x3[t2]:=x2[i];
y3[t2]:=y2[i];
end;
last:=temp;
if i=1 then
temp1:=temp;
end;
if temp1*temp<0 then
begin
bian2(tt,1,2);
inc(t2);
jiao(1,2,t2);
end;
tt:=t2;
x2:=x3;
y2:=y3;
end;
begin
readln(n,r);
for i:=1 to n do
begin
readln(x[i],y[i]);
x[0]:=x[0]+x[i];
y[0]:=y[0]+y[i];
end;
x[0]:=x[0]/n;
y[0]:=y[0]/n;
x[n+1]:=x[1];
y[n+1]:=y[1];
tt:=4;
wyw:=30000;
x2[1]:=-wyw;
y2[1]:=-wyw;
x2[2]:=wyw;
y2[2]:=-wyw;
x2[3]:=wyw;
y2[3]:=wyw;
x2[4]:=-wyw;
y2[4]:=wyw;
for i:=1 to n do
main(i);
max:=-1;
for i:=tt downto 1 do
for j:=1 to tt do
if dist(i,j)>max then
begin
max:=dist(i,j);
rec1:=i;
rec2:=j;
end;
writeln(x2[rec1]:0:10,' ',y2[rec1]:0:10,' ',x2[rec2]:0:10,' ',y2[rec2]:0:10);
end;
zero=1e-7;
var
wyw,m,n,tt,t2,r,i,j,rec1,rec2:longint;
max,jx,jy:extended;
f:array[0..2]of longint;
lgx,lgy:array[0..2]of extended;
a,b,c,x,y,x2,x3,y2,y3:array[0..10000]of extended;
procedure bian1(i,j,k:longint);
var
t:longint;
temp:extended;
begin
a[k]:=x[i]-x[j];
b[k]:=y[i]-y[j];
if abs(a[k])>=zero then
begin
temp:=r*sqrt(1+sqr(b[k]/a[k]));
if a[k]*(a[k]*y[0]-b[k]*x[0]-c[k])>0 then
c[k]:=c[k]-temp*a[k];
end
else
if b[k]*(b[k]*x[o]+c[k])>0 then
c[k]:=c[k]-r*b[k]
else
c[k]:=c[k]+r*b[k];
end;
procedure bian2(i,j,k:longint);
var
t:longint;
temp:extended;
begin
a[k]:=x2[i]-x2[j];
b[k]:=y2[i]-y2[j];
c[k]:=a[k]*y2[i]-b[k]*x2[i];
end;
procedure jiao(i,j,k:longint);
var
t:longint;
temp:extended;
begin
jx:=-1;
jy:=-1;
if a[i]*b[j]=a[j]*b[i] then
exit;
if b[i]=0 then
begin
t:=i;
i:=j;
j:=t;
end;
temp:=b[j]/b[i];
y3[k]:=(c[i]*temp-c[j])/(a[i]*temp-a[j]);
x3[k]:=(a[i]*y3[k]-c[i])/b[i];
end;
function dist(i,j:longint):extended;
begin
dist:=sqrt(sqr(x2[i]-x2[j])+sqr(y2[i]-y2[j]));
end;
procedure main(j:longint);
var
i,now:longint;
last,temp1,temp,search:extended;
begin
m:=0;
bian1(j,j+1,1);
search:=a[1]*y[j]-b[1]*x[j]-c[1];
if search>0 then
search:=-1
else
search:=1;
x2[tt+1]:=x2[1];
y2[tt+1]:=y2[1];
t2:=0;
last:=0;
ffor i:=1 to tt do
begin
temp:=a[1]*y2[i]-b[1]*x2[i]-c[1];
if (i>1) and (last*temp<0) then
begin
bian2(i-1,i,2);
inc(t2);
jiao(1,2,t2);
end;
if (temp*search>0) or (abs(temp)<zero) then
begin
inc(t2);
x3[t2]:=x2[i];
y3[t2]:=y2[i];
end;
last:=temp;
if i=1 then
temp1:=temp;
end;
if temp1*temp<0 then
begin
bian2(tt,1,2);
inc(t2);
jiao(1,2,t2);
end;
tt:=t2;
x2:=x3;
y2:=y3;
end;
begin
readln(n,r);
for i:=1 to n do
begin
readln(x[i],y[i]);
x[0]:=x[0]+x[i];
y[0]:=y[0]+y[i];
end;
x[0]:=x[0]/n;
y[0]:=y[0]/n;
x[n+1]:=x[1];
y[n+1]:=y[1];
tt:=4;
wyw:=30000;
x2[1]:=-wyw;
y2[1]:=-wyw;
x2[2]:=wyw;
y2[2]:=-wyw;
x2[3]:=wyw;
y2[3]:=wyw;
x2[4]:=-wyw;
y2[4]:=wyw;
for i:=1 to n do
main(i);
max:=-1;
for i:=tt downto 1 do
for j:=1 to tt do
if dist(i,j)>max then
begin
max:=dist(i,j);
rec1:=i;
rec2:=j;
end;
writeln(x2[rec1]:0:10,' ',y2[rec1]:0:10,' ',x2[rec2]:0:10,' ',y2[rec2]:0:10);
end;