#include<bits/stdc++.h>
using namespace std;
struct students{
   //结构体 
	int num;
	int s;
}stu[5005];

bool cmp(students a,students b){
   //结构体排序 
	if(a.s!=b.s){
   
		return a.s>b.s;
	}else{
   
		return a.num<b.num;
	}
}
int main(){
   
	int n,m;
	cin>>n>>m;//输入 
	for(int i=0;i<n;i++){
   //遍历输入 
		cin>>stu[i].num>>stu[i].s;
	}
	int l=(int)m*1.5+1;//计算人数 //错误理解题意
	//cout<<l;
	sort(stu,stu+n,cmp);//排序 
	cout<<stu[l-1].s<<" "<<l<<endl;//按要求输出 
	for(int i=0;i<l;i++){
   
		cout<<stu[i].num<<" "<<stu[i].s<<endl;
	}
}
#include<bits/stdc++.h>
using namespace std;
struct students{
   //结构体 
	int num;
	int s;
}stu[5005];

bool cmp(students a,students b){
   //结构体排序 
	if(a.s!=b.s){
   
		return a.s>b.s;
	}else{
   
		return a.num<b.num;
	}
}
int main(){
   
	int n,m;
	int cnt=0;
	cin>>n>>m;//输入 
	for(int i=0;i<n;i++){
   //遍历输入 
		cin>>stu[i].num>>stu[i].s;
	}
	int l=(int)m*1.5;//计算人数 
	//cout<<l;
	sort(stu,stu+n,cmp);//排序 
	for(int i=0;i<n;i++){
   
		if(stu[i].s>=stu[l-1].s)
			cnt++;
	} 
	cout<<stu[l-1].s<<" "<<cnt<<endl;//按要求输出 
	for(int i=0;i<cnt;i++){
   
		cout<<stu[i].num<<" "<<stu[i].s<<endl;
	}
}
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
struct xb{
   
	int bmh;
	int cj;
}a[5000];
bool comp(xb x,xb y)
{
   
	if(x.cj==y.cj) return x.bmh<y.bmh;
	return  x.cj>y.cj;
}
int main()
{
   
	int n,m,k,sum=0;
	cin>>n>>m;
	for(int i=1;i<=n;i++) cin>>a[i].bmh>>a[i].cj;
	sort(a+1,a+1+n,comp);
	k=floor(m*1.5);
	for(int i=1;i<=n;i++) if(a[i].cj>=a[k].cj) sum=sum+1;
	cout<<a[k].cj<<" "<<sum<<endl;
	for(int i=1;i<=n;i++) if(a[i].cj>=a[k].cj) cout<<a[i].bmh<<" "<<a[i].cj<<endl;
	return 0;
}