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