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.