#include <iostream>
#include <cstdio>
#include <map>
using namespace std;
//解题思路:
//使用map对应指数和系数读入加减即可
//要注意的是,系数可能会合并成零,则个数要先输出则需要先跑一遍来统计
map<int, double> mp;
int main()
{
int n; scanf("%d", &n);
int e; double c;
for(int i = 1; i <= n; i++)
{
scanf("%d %lf", &e, &c);
mp[e] += c;
}
scanf("%d", &n);
for(int i = 1; i <= n; i++)
{
scanf("%d %lf", &e, &c);
mp[e] += c;
}
// 统计合并之后个数
int cnt(0);
map<int, double>::iterator it = mp.end();
do
{
--it;
if(it->second != 0) cnt++;
}while(it != mp.begin());
printf("%d", cnt);
// 第二遍,系数非零则输出
it = mp.end();
do
{
--it;
if(it->second != 0)
printf(" %d %.1lf", it->first, it->second);
}while(it != mp.begin());
return 0;
}