#include <stdio.h>
#include <string.h>

struct ElemType{		// 定义多项式的每一项类型
	int coef;			// 系数
	int expn;			// 指数
};

int main(){

	ElemType a[110], b[110], r[220];	// 定义两个多项式以及他们的结果
	int lenA, lenB, lenR;				// 定义多项式 a,b,r 的项数
	char strA[1000], strB[1000], *tmp;	// 定义用来读取多项式的字符串,待会分解为整数
	int i, j;
	while(gets(strA) && strlen(strA)){	// 注意判断字符串 strA 的长度,防止有空行
		gets(strB);						// 读入字符串 strB
		lenA = lenB = lenR = 0;			// 首先令各多项式的项数为 0

		// 以下将字符串 a 放置到多项式 a 中
		tmp = strtok(strA, " \t\n");			// 注意这里传入的是字符串 strA
		while(tmp){
			sscanf(tmp, "%d", &a[lenA].coef);	// 从字符串中读取一个系数
			tmp = strtok(NULL, " \t\n");		// 注意这里传入的是 NULL
			sscanf(tmp, "%d", &a[lenA].expn);	// 从字符串中读取一个指数
			tmp = strtok(NULL, " \t\n");
			lenA++;								// 多项式项数加 1
		}

		// 以下将字符串 b 放置到多项式 b 中,操作类似上面的步骤
		tmp = strtok(strB, " \t\n");
		while(tmp){
			sscanf(tmp, "%d", &b[lenB].coef);
			tmp = strtok(NULL, " \t\n");
			sscanf(tmp, "%d", &b[lenB].expn);
			tmp = strtok(NULL, " \t\n");
			lenB++;
		}

		// 下面是进行多项式的加法,算法类同有序序列的有序合并
		i = j = 0;								// 注意这里每次循环时值要赋为0,否则下次循环就值就会有问题
		while(i<lenA && j<lenB){
			if(a[i].expn > b[j].expn){			// 如果 a 的某一项比 b 的某一项指数高,则结果应加入 a 这一项
				r[lenR].coef = a[i].coef;
				r[lenR].expn = a[i].expn;
				i++;
				lenR++;
			}else if(a[i].expn < b[j].expn){	// 如果 a 的某一项比 b 的某一项指数低,则结果应加入 b 这一项
				r[lenR].coef = b[j].coef;
				r[lenR].expn = b[j].expn;
				j++;
				lenR++;
			}else if(a[i].expn == b[j].expn){	// 如果 a 的某一项和 b 的某一项指数相等,
				if(a[i].coef + b[j].coef){		// 如果两项的系数和不为 0,则结果加上它们的和,否则就忽略
					r[lenR].coef = a[i].coef + b[j].coef;
					r[lenR].expn = a[i].expn;
					lenR++;
				}
				i++;
				j++;
			}
		}

		// 结果加入多项式 a 中剩下的部分
		while(i < lenA){
			r[lenR].coef = a[i].coef;
			r[lenR].expn = a[i].expn;
			i++;
			lenR++;
		}
		// 结果加入多项式 b 中剩下的部分
		while(j < lenB){
			r[lenR].coef = b[j].coef;
			r[lenR].expn = b[j].expn;
			j++;
			lenR++;
		}

		// 显示多项式的结果
		for(int i=0;i<lenR;i++){
			printf("%d %d ", r[i].coef, r[i].expn);
		}
		// 换行
		putchar('\n');
	}

	return 0;
}

/**************************************************************
	Problem: 2141
	User: admin
	Language: C++
	Result: Accepted
	Time:9 ms
	Memory:1148 kb
****************************************************************/