#include<iostream>
#include<algorithm>
#include<map>
#include<string>
#include<vector>
using namespace std;
bool cmp(double a,double b)
{
return a>b;
}
int main(){
bool hush[10000]={false};
int exponent[10000]={0};
double cosuf[10000]={0};
int m,num=0;
#include<algorithm>
#include<map>
#include<string>
#include<vector>
using namespace std;
bool cmp(double a,double b)
{
return a>b;
}
int main(){
bool hush[10000]={false};
int exponent[10000]={0};
double cosuf[10000]={0};
int m,num=0;
for(int n=0;n<2;n++){
cin>>m;
for(int i=0;i<m;i++)
{
int zhi;
double xi;
cin>>zhi>>xi;
if(!hush[zhi])
{ exponent[num++]=zhi;
hush[zhi]=true;
}
cosuf[zhi]=cosuf[zhi]+xi;
}
}
int qw=num,z=0;//特殊情况
for(int i=0;i<qw;i++)
{
if(cosuf[exponent[i]]==0)
{z++;
}
exponent[i]=exponent[i+z];
}
num=num-z;
sort(exponent,exponent+num,cmp);
cout<<num;
for(int i=0;i<num;i++)
{
cout<<" "<<exponent[i];
printf(" %.1lf",cosuf[exponent[i]]);
}
return 0;
}
cin>>m;
for(int i=0;i<m;i++)
{
int zhi;
double xi;
cin>>zhi>>xi;
if(!hush[zhi])
{ exponent[num++]=zhi;
hush[zhi]=true;
}
cosuf[zhi]=cosuf[zhi]+xi;
}
}
int qw=num,z=0;//特殊情况
for(int i=0;i<qw;i++)
{
if(cosuf[exponent[i]]==0)
{z++;
}
exponent[i]=exponent[i+z];
}
num=num-z;
sort(exponent,exponent+num,cmp);
cout<<num;
for(int i=0;i<num;i++)
{
cout<<" "<<exponent[i];
printf(" %.1lf",cosuf[exponent[i]]);
}
return 0;
}