#include <stdio.h>
#include <stdlib.h>
typedef struct{
    int key;
    int val;
}KeyVal;
int cmp(const void*a,const void*b){
    return ((*(KeyVal *)a).key-(*(KeyVal *)b).key);
}
int main(){
    int n;
    scanf("%d",&n);
    KeyVal keyval[n],tmp;
    int number=0;
    while(~scanf("%d %d",&tmp.key,&tmp.val)){
        int flag=1;
        for(int i=0;i<number;i++){
            if (keyval[i].key==tmp.key) {
                keyval[i].val+=tmp.val;
                flag=0;
                break;
            }
        }
        if(flag){
            keyval[number].key=tmp.key;
            keyval[number].val=tmp.val;
            number++;
        }
    }
    qsort(keyval,number,sizeof(KeyVal),cmp);
    for(int i=0;i<number;i++){
        printf("%d %d\n",keyval[i].key,keyval[i].val);
    }
    return 0;
}