#include <stdio.h>
typedef struct
{
int bianhao;
int fenshu;
}po;
int compare_fenshu(const void*a,const void*b)
{
po* po1 = *(po**)a;
po* po2 = *(po**)b;
if(po1->fenshu != po2->fenshu)
{
return po2->fenshu - po1->fenshu; // 分数降序
}
else
{
return po1->bianhao - po2->bianhao; // 编号升序
}
}
int main()
{
int n,line,count=0;
scanf("%d",&n);
scanf("%d",&line);
int t=(1.5)*line;
po* arr[n];
for(int i=0;i<n;i++)
{
arr[i]=(po*)malloc(sizeof(po*));
scanf("%d",&(arr[i]->bianhao));
scanf("%d",&(arr[i]->fenshu));
}
qsort(arr, n, sizeof(po*), compare_fenshu);
for(int i=0;i<n;i++)
{
if(arr[i]->fenshu>=arr[t-1]->fenshu)
count++;
}
printf("%d",(arr[t-1]->fenshu));
printf(" %d",count);
printf("\n");
for(int i=0;i<count;i++)
{
printf("%d",arr[i]->bianhao);
printf(" %d",arr[i]->fenshu);
printf("\n");
}
return 0;
}