#include <iostream>
using namespace std;
int main() {
int m = 0,n=0;
float a[1001] = { 0 }, b[1001] = {0};
float result[1001] = { 0 };
int i=0,j=0;
int status = 0;
cin >> m;
while (m--)
{
cin >> i;
cin>> a[i];
if (i > status)
status = i;
}
cin >> n;
while (n--)
{
cin >> j;
cin >> b[j];
if (j > status)
status = j;
}
int flag1 = 0,flag2=0;
for (i =status; i >= 0; i--)
{
result[i] = a[i] + b[i];
if(result[i] != 0)
flag2 = i;
if (result[i] != 0)
flag1++;
}
cout << flag1;
for (i =status; i >= 0; i--){
if (result[i] != 0)
printf(" %d %.1f", i, result[i]);
}
return 0;
}
using namespace std;
int main() {
int m = 0,n=0;
float a[1001] = { 0 }, b[1001] = {0};
float result[1001] = { 0 };
int i=0,j=0;
int status = 0;
cin >> m;
while (m--)
{
cin >> i;
cin>> a[i];
if (i > status)
status = i;
}
cin >> n;
while (n--)
{
cin >> j;
cin >> b[j];
if (j > status)
status = j;
}
int flag1 = 0,flag2=0;
for (i =status; i >= 0; i--)
{
result[i] = a[i] + b[i];
if(result[i] != 0)
flag2 = i;
if (result[i] != 0)
flag1++;
}
cout << flag1;
for (i =status; i >= 0; i--){
if (result[i] != 0)
printf(" %d %.1f", i, result[i]);
}
return 0;
}