#include<bits/stdc++.h>
using namespace std;
int a[600];
int b[600];
int main(){
      int n;cin>>n;
      for(int i=0;i<n;i++)scanf("%d%d",&a[i],&b[i]);
  
      for(int i=0;i<n-1;i++){//冒泡排序
        for(int j=0;j<n-i-1;j++){
       if(a[j]>a[j+1]){
        swap(a[j],a[j+1]);
        swap(b[j],b[j+1]);//把相同的a排在一起
       }
        }
      }
  
      for(int i=1;i<n;i++){
        if(a[i]==a[i-1]){b[i]+=b[i-1];}//遇到相同的a,把b的值合并
        else printf("%d %d\n",a[i-1],b[i-1]);//遇到不同的a,输出前一项的b
      }
      printf("%d %d\n",a[n-1],b[n-1]);//特殊处理最后一项
return 0;
}