#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5 + 10;
// 定义一个结构体来存储每个选手的报名号和笔试成绩
struct node {
int id;
int score;
};
// 比较函数,用于按照笔试成绩对选手进行排序
bool cmp(node a, node b) {
if (a.score == b.score) return a.id < b.id;
else return a.score > b.score;
}
node a[N];
int n, m;
int main() {
// 读取选手数量和计划录取人数
cin >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> a[i].id >> a[i].score;
}
// 按照笔试成绩对选手进行排序
sort(a + 1, a + 1 + n, cmp);
// 计算面试分数线
m = m * 1.5;
int i = 1;
while (a[i].score >= a[m].score && i <= n) i++;
i--;
// 输出面试分数线和进入面试的选手的实际人数
cout << a[i].score << " " << i << endl;
// 输出进入面试的选手的报名号和笔试成绩
for (int j = 1; j <= i; j++) {
cout << a[j].id << " " << a[j].score << endl;
}
return 0;
}