var i,j,k,l,m,n:longint; a,b:array[1..5001]of longint; procedure qsort(x,y:longint); var x0,y0,mid,mid1,aa:longint; begin x0:=x;y0:=y;mid:=a[(x0+y0)div 2];mid1:=b[(X0+y0)div 2]; repeat while (a[x0]>mid)or((a[x0]=mid)and(b[x0]<mid1)) do x0:=x0+1; while (a[y0]<mid)or((a[y0]=mid)and(b[y0]>mid1)) do y0:=y0-1; if x0<=y0 then begin aa:=a[x0]; a[x0]:=a[y0]; a[y0]:=aa; aa:=b[x0]; b[x0]:=b[y0]; b[y0]:=aa; x0:=x0+1; y0:=y0-1; end; until x0>y0; if x<y0 then qsort(x,y0); if x0<y then qsort(x0,y); end; begin readln(n,m); for i:=1 to n do readln(b[i],a[i]); qsort(1,n); m:=a[trunc(m*1.5)]; for i:=1 to n+1 do if a[i]<m then break; i:=i-1; writeln(m,' ',i); for j:=1 to i do writeln(b[j],' ',a[j]); end. /************************************************************** Problem: 2285 User: admin Language: Pascal Result: Wrong Answer ****************************************************************/