//KY201 求两个多项式的和
#include <iostream>
#include <algorithm>
#include <cstring>
#include <queue>
using namespace std;
struct E{
    int a, b;
    bool operator<(const E &x)const{
        if(b==x.b) return x.a>a;
        return x.b>b;
    }
};
int n, a, b;
int main()
{
    cin>>n;
    priority_queue<E>q;
    for(int i=1;i<=n;i++){
        cin>>a>>b;
        if(a==0) continue;
        q.push({a,b});
    }
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a>>b;
        if(a==0) continue;
        q.push({a,b});
    }
    int sum=(q.top()).a, pre=(q.top()).b;
    q.pop();
    while(q.size()){
        auto t=q.top();
        q.pop();
        if(t.b==pre) sum+=t.a;
        else{
            if(sum!=0) cout<<sum<<' '<<pre<<' ';
            pre=t.b;
            sum=t.a;
        }
    }
    if(sum!=0) cout<<sum<<' '<<pre<<'\n';
    return 0;
}