import java.util.*;
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
HashMap<Integer, Integer> map = new HashMap<>();
HashMap<Integer, Integer> map2 = new HashMap<>();
ArrayList<Integer> list = new ArrayList<>();
Scanner scanner = new Scanner(System.in);
int count = scanner.nextInt();
int x = (int) Math.floor(scanner.nextInt() * 1.5);
for (int i = 0; i < count; i++) {
map.put(scanner.nextInt(), scanner.nextInt());
}
for (Integer value : map.values()) {
list.add(value);
}
Collections.sort(list, Collections.reverseOrder());
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
if (entry.getValue() >= list.get(x - 1)) {
map2.put(entry.getKey(), entry.getValue());
}
}
int c = 0;
for (Integer i : list) {
if (i >= list.get(x - 1)) c++;
}
System.out.println(list.get(x - 1) + " " + c);
/*对map2排序:按照value从大到小排序 如果value值相同 key 按照从大到小排序 */
/*提取 Entry 集合:将 Map 的键值对(Entry)放入 List 中
自定义排序规则:
优先按 Value 降序(从大到小)
若 Value 相同,则按 Key 降序(从大到小)*/
// 将 Entry 存入 List
List<Map.Entry<Integer, Integer>> entryList = new ArrayList<>(map2.entrySet());
Collections.sort(entryList, new Comparator<Map.Entry<Integer, Integer>>() {
@Override
public int compare(Map.Entry<Integer, Integer> e1,
Map.Entry<Integer, Integer> e2) {
// Value 降序:e2 与 e1 比较
int valueCompare = e2.getValue().compareTo(e1.getValue());
if (valueCompare != 0) {
return valueCompare;
}
// Value 相同时,Key 降序
return e1.getKey().compareTo(Integer.valueOf(e2.getKey()));
}
});
// 3. 转换为 LinkedHashMap 保持顺序
Map<Integer, Integer> sortedMap = new LinkedHashMap<>();
for (Map.Entry<Integer, Integer> entry : entryList) {
sortedMap.put(entry.getKey(), entry.getValue());
}
for (Map.Entry<Integer, Integer> entry : sortedMap.entrySet()) {
System.out.println(entry.getKey() + " " + entry.getValue());
}
scanner.close();
}
}