import java.util.Scanner;
import java.util.TreeMap;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 读取记录的数量
while (in.hasNextInt()) {
int n = in.nextInt(); // 记录数
TreeMap<Integer, Integer> map = new TreeMap<>(); // 用来存储合并后的结果
for (int i = 0; i < n; i++) {
int key = in.nextInt(); // 索引
int value = in.nextInt(); // 对应的数值
// 合并相同索引的数值
map.put(key, map.getOrDefault(key, 0) + value);
}
// 输出合并后的结果,按索引升序输出
for (Integer key : map.keySet()) {
System.out.println(key + " " + map.get(key));
}
}
}
}