// import java.util.; // public class Main { // public static void main(String[] args){ // Scanner sc = new Scanner(System.in); // TreeMap<Integer,Integer> map = new TreeMap<>(); // while(sc.hasNext()){ // int n = sc.nextInt(); // for(int i =0;i<n;i++){ // int key = sc.nextInt(); // int value = sc.nextInt(); // map.put(key,map.getOrDefault(key,0)+value); // } // for(Integer i : map.keySet()){ // System.out.println(i+" "+map.get(i)); // } // } // } // } import java.util.; import java.io.*; public class Main{ public static void main(String[] args)throws IOException{ BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); String str = null; TreeMap<Integer,Integer> map = new TreeMap<>(); while((str = in.readLine()) != null){ int num = Integer.parseInt(str); while(num -- > 0){ String[] s = in.readLine().trim().split(" "); int key = Integer.parseInt(s[0]); int value = Integer.parseInt(s[1]); if(map.containsKey(key)){ value += map.get(key); map.put(key,value); }else{ map.put(key,value); }

        }
    }
    for(Integer i : map.keySet()){
        System.out.println(i +" "+map.get(i));
    }
}

}