#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 1010;
double a[N], b[N], c[2 * N];
void input(double a[]){
int k;
cin >> k;
while (k --){ // 读入多项式
int x; // 指数
double y; // 系数
cin >> x >> y;
a[x] = y;
}
}
int main() {
// 输入两个多项式
input(a);
input(b);
// 两个多项式 对应位相乘
for (int i = 0; i < N; i ++)
for (int j = 0; j < N; j ++)
c[i + j] += a[i] * b[j]; // 注意这里是 +=
// 求系数非零的总项数
int k = 0;
for (int i = 0; i < 2 * N; i ++)
if (c[i])
k ++;
cout << k;
// 输出系数非零的所有项数 (先输出高位, 再输出低位)
for (int i = 2 * N - 1; i >= 0; i --)
if (c[i])
printf(" %d %.1lf", i, c[i]);
return 0;
}