#include<iostream>
#include<vector>
#include<map>
#include<algorithm>
using namespace std;
struct A{
int k;
int s;
};
bool cmp(A a, A b){
if(a.s == b.s)
return a.k < b.k;
else
return a.s > b.s;
}
int main(){
int n, m;
scanf("%d%d", &n, &m);
int ks1, ks2;
A ks[5001];
for(int i = 0; i < n; ++i){
scanf("%d%d", &ks1, &ks2);
ks[i].k = ks1;
ks[i].s = ks2;
}
sort(ks, ks+n, cmp);
int number = floor(m*1.5);
while(ks[number-1].s == ks[number].s)
number++;
printf("%d %d\n", ks[number-1].s, number);
for(int i = 0; i < number; ++i){
printf("%d %d\n", ks[i].k, ks[i].s);
}
return 0;
}