#include<stdio.h>
struct xinxi{
int hao;
int cj;
};
struct xinxi man[5002],t;
int main(){
int n,m;
scanf("%d %d",&n,&m);
int shu=m*1.5;
for(int i=1;i<=n;i++){
scanf("%d %d",&man[i].hao,&man[i].cj);
}
for(int j=1;j<=n-1;j++){
for(int k=1;k<=n-j;k++){
if(man[k].cj<man[k+1].cj){
t=man[k];
man[k]=man[k+1];
man[k+1]=t;
}
}
}
t=man[shu];
int count=0;
int cnt=1;
struct xinxi hlai[4300];
for(int i=1;man[i].cj>=t.cj;i++){
hlai[cnt]=man[i];
cnt++;
count++;
}
printf("%d %d\n",t.cj,count);
for(int c=1;c<=count;c++){
if(hlai[c].cj==hlai[c+1].cj){
if(hlai[c].hao>hlai[c+1].hao){
t=hlai[c];
hlai[c]=hlai[c+1];
hlai[c+1]=t;
}
}
printf("%d %d\n",hlai[c].hao,hlai[c].cj);
}
return 0;
}