import java.util.*;

public class Main {

    public static void handle(Map<Integer,List<Integer>> map,Queue<Integer> queue){
        List<String> strings = new ArrayList<>();
        while (!queue.isEmpty()){
            StringBuilder sb = new StringBuilder("");
            int id = queue.poll();
            List<Integer> list = map.get(id);
            if (list.size()>1){
                if (id<10){
                    sb.append("0");
                }
                sb.append(id+" ");
                for (int i = 0; i < list.size() ; i++) {
                    sb.append(list.get(i));
                    if (i!=list.size()-1)
                        sb.append(" ");
                }
                strings.add(sb.toString());
            }
        }
        if (strings.isEmpty())
            System.out.println("YES");
        else
            for (int i = 0; i < strings.size(); i++) {
                System.out.println(strings.get(i));
            }
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        Map<Integer,List<Integer>> map = new HashMap<>();
        Queue<Integer> queue = new PriorityQueue<>();
        for (int i = 0; i < n; i++) {
            int str = scanner.nextInt();
            int id = scanner.nextInt();
            if (map.containsKey(str)){
                map.get(str).add(id);
            }else{
                List<Integer> list = new ArrayList<>();
                list.add(id);
                map.put(str,list);
                queue.add(str);
            }
        }
        handle(map,queue);
    }

}
选课ac了,但是死在了第二题的循环输入上。。。。。求大佬讲解下怎么判断输入结束啊