mọi người xem giùm sai chổ nào
const fi='';
fo='';
maxn=5*100000;
maxh=2*100000;
var n,o,s,h:longint;
u,d:array[1..maxn]of longint;
Procedure ini;
var f:Text;
i:longint;
Begin
assign(f,fi);
reset(f);
readln(f,n,h);
for i:=1 to n div 2 do
Begin
readln(f,u[i]);
readln(f,d[i]);
End;
close(f);
End;
Procedure otp;
var i:longint;
fu,fd:array[1..maxh+10] of longint;
Begin
fillchar(fu,sizeof(fu),0);
fillchar(fd,sizeof(fd),0);
for i:=1 to (n div 2) do inc(fu[u[i]]);
for i:=1 to (n div 2) do inc(fd[h-d[i]+1]);
for i:=h-1 downto 1 do fu[i]:=fu[i+1]+fu[i];
for i:=2 to h do fd[i]:=fd[i-1]+fd[i];
o:=maxlongint;
for i:=1 to h do
if o>fu[i]+fd[i] then
Begin
o:=fu[i]+fd[i];
s:=1;
End else
if o=fu[i]+fd[i] then inc(s);
End;
Procedure outo;
var f:text;
Begin
assign(f,fo);
rewrite(f);
write(f,o,' ',s);
close(f);
End;
Begin
ini;
otp;
outo;
End.