import java.util.*;
import java.util.stream.Collectors;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        int[] arr = new int[100001];
        while (in.hasNext()) { // 注意 while 处理多个 case
            int n = in.nextInt(), m = in.nextInt();
            in.nextLine();
            int k, s;
            Map<Integer, Integer> map = new HashMap<Integer, Integer>();
            for (int i = 0; i < n; i++) {
                k = in.nextInt();
                s = in.nextInt();
                map.put(k, s);
            }
            List<Map.Entry<Integer, Integer>> list = map.entrySet().stream()
                    .sorted(Map.Entry.<Integer, Integer>comparingByValue((num1,
                            num2) -> num2 - num1) // 按value(成绩)降序
                            .thenComparing(Map.Entry.comparingByKey())) // 分数相同时按key(报考号)升序
                    .collect(Collectors.toList()); // 转成List

            int quota = (int)(1.5 * m); // 计划录取名额
            int score = list.get(quota - 1).getValue(); // 分数线
            int persons = 0; // 实际录取人数
            for (Map.Entry<Integer, Integer> entry : list) {
                if (entry.getValue() < score)
                    break;
                persons++;
            }
            System.out.println(score + " " + (persons));

            for (Map.Entry<Integer, Integer> entry : list) {
                if (entry.getValue() < score)
                    break;
                System.out.println(entry.getKey() + " " + entry.getValue());
            }

        }
    }
}