#include <stdio.h>
int number,i,j,k,u;
struct {
long long int index;
long int value;
}data[500],buff;
int main()
{
scanf("%d\n",&number);
for(i=0;i<number;i++)
{
scanf("%d %d\n",&data[i].index,&data[i].value);
}
for(j=0;j<number;j++)
{
for(k=j+1;k<number;k++)
{
if(data[j].index==data[k].index)
{
data[j].value+=data[k].value;
for(u=k;u<number;u++)
{
data[u]=data[u+1];
}
number--;
j--;
}
}
}
for(i=0;i<number-1;i++)
{
for(j=i+1;j<number;j++)
{
if(data[j].index<data[i].index)
{
buff=data[i];
data[i]=data[j];
data[j]=buff;
}
}
}
for(i=0;i<number;i++)
{
printf("%d %d\n",data[i].index,data[i].value);
}
return 0;
}