BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int max = 0, min = 0; Deque<String> deque = new ArrayDeque<>(); for (int i = 0; i < n; i++){ String[] s = br.readLine().split(" "); String name = s[0]; int diff = Integer.parseInt(s[1]); if (deque.isEmpty()){ deque.add(name); max = diff; min = diff; }else if (diff < min){ deque.addFirst(name); min = diff; }else if (diff > max){ deque.addLast(name); max = diff; } } StringBuilder sb = new StringBuilder(); sb.append(deque.size() + "\n"); while (!deque.isEmpty()){ sb.append(deque.removeFirst() + "\n"); } System.out.println(sb);