#include<iostream>
#include<algorithm>
using namespace std;
const int maxn = 1005;
struct Num{
int coe;
int index;
}num1[maxn],num2[maxn],result_1[maxn],result_2[maxn];
int k1 = 0, k2 = 0;
int find(int index, Num num[], int len);
void print(Num num[], int len);
bool mycmp(Num a, Num b){return a.index > b.index;}
void correct(Num Result[], int len, int tag);
int main(){
int n1;
cin >> n1;
k2 = n1;
for (int i = 0; i < n1; i++){
int a,b;
cin >> a >> b;
result_2[i].coe = num1[i].coe = a;
result_2[i].index = num1[i].index = b;
}
int n2;
cin >> n2;
for (int i = 0; i < n2; i++){
cin >> num2[i].coe >> num2[i].index;
}
//multiplication
for (int i = 0; i < n1; i++){
for (int j = 0; j < n2; j++){
int coe = num1[i].coe * num2[j].coe;
int index = num1[i].index+num2[j].index;
int t = find(index,result_1,k1);
if(t == -1){
result_1[k1].coe = coe;
result_1[k1].index = index;
k1++;
}else{
result_1[t].coe+=coe;
}
}
}
//additon
for (int j = 0; j < n2; j++){
int coe = num2[j].coe;
int index = num2[j].index;
int t = find(index,result_2,k2);
if (t == -1){
result_2[k2].coe = coe;
result_2[k2].index = index;
k2++;
}else{
result_2[t].coe+=coe;
}
}
sort(result_1,result_1+k1, mycmp);
sort(result_2,result_2+k2, mycmp);
correct(result_1,k1,1); //make sure the first coefficient is not zero
correct(result_2,k2,2);
print(result_1,k1);
cout << endl;
print(result_2,k2);
return 0;
}
void print(Num num[], int len){
if(len){ //if the result exist
for (int i = 0; i < len; i++){
if(num[i].coe == 0){
continue;
}
if(i==0){
cout << num[i].coe << " " << num[i].index;
}
else{
cout << " " << num[i].coe << " " << num[i].index;
}
}
}else{ //if the result is not exist
cout << "0 0";
return;
}
}
int find(int index, Num num[], int len){
for (int i = 0; i < len; i++){
if(index == num[i].index){
return i;
}
}
return -1;
}
void correct(Num Result[], int len, int tag){
for (int i = 0; i < len; i++){
if (Result[i].coe == 0){
if(tag==1){
for (int j = 0; j < k1-1; j++){
result_1[j].coe = result_1[j+1].coe;
result_1[j].index = result_1[j+1].index;
}
k1--;
}else if (tag == 2){
for (int j = 0; j < k2-1; j++){
result_2[j].coe = result_2[j+1].coe;
result_2[j].index = result_2[j+1].index;
}
k2--;
}
}else{
break;
}
}
}