import re
while True:
    try:
        num=int(input())
        key=[]
        val=[]
        for i in range(num):
            list1=list(map(int,input().split()))
            if list1[0] in key:       #如果新key重复则不进栈(没有入栈操作)
                val[key.index(list1[0])]+=list1[1] #加上 找到重复的旧key的位置并累加对应的值
            else:
                key.append(list1[0])
                val.append(list1[1])
        list_dic=sorted(list(zip(key,val)),key=lambda x:x[0]) #先用zip打包保证键值对不变的情况下进行按键排序。
        result_list=list(zip(*list_dic))  #解压 知识点:zip(*zipped)为解压
        r_key=result_list[0]
        r_val=result_list[1]
        for j in range(len(r_key)):
            print("%d %d"%(r_key[j],r_val[j]))
        
        
        
    except:
        break