#include<stdio.h>
int s[105], k[10005][105];
int main() {
int n, m, ss, kk, count = 0, i, x, j;
scanf("%d%d", &n, &m);
m = m * 1.5;//取整
for (i = 0; i < n; i++) {
scanf("%d%d", &kk, &ss);
k[kk][ss]++;
s[ss]++;//桶排序,存下标,不存数组
//所以所以当m=m-1+a[】
}//用人数定分数,而不是用分来定人,c进去是0,出来是1,出来的的结果是他加了的数
for (i = 100; count < m; i--)//完成分数线的划定,并记录有多少人在分数线以上
count += s[i]; //桶排序的方法,优点在于可以算进重复分数的人,
printf("%d %d\n", i + 1, count);//所以不用考虑去分数同,把ncount加一了
x = i + 1;// 分数线,i出来后也减了个一,
for (i = 100; i >= x; i--)
for (j = 1000; j <= 10000; j++)
if (k[j][i])//不是零就加一
printf("%d %d\n", j, i);
return 0;
//分数线的划定,
//为什么要加一?