#include<cstdio>
typedef struct Node{
int coe;
int exp;
}node;
int main()
{
int m,n;
scanf("%d %d",&m,&n);
node a[100],b[100];
for(int i=0;i<m;i++)
{
scanf("%d %d",&a[i].coe,&a[i].exp);
}
for(int j=0;j<n;j++)
{
scanf("%d %d",&b[j].coe,&b[j].exp);
}
node c[200];
int k=0;
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
c[k].coe=a[i].coe*b[j].coe;
c[k].exp=a[i].exp+b[j].exp;
k++;
}
}
c[k].coe=0;
c[k].exp=0;
for(int i=0;i<k;i++)
{
printf("%d %d\n",c[i].coe,c[i].exp);
}
for(int i=0;i<k;i++)
{
for(int j=i+1;j<k;j++)
{
if(c[i].exp==c[j].exp)
{
c[i].coe+=c[j].coe;
for(int x=j;x<k;x++)
{
c[x].coe=c[x+1].coe;
c[x].exp=c[x+1].exp;
}
k--;
i--;
j--;
}
}
}
for(int i=0;i<k;i++)
{
printf("%d %d\n",c[i].coe,c[i].exp);
}
return 0;
}
http://blog.youkuaiyun.com/zssureqh/article/details/21116883