//已知先序、中序求后序
//测试数据:
//样例输入:
// DBACEGF ABCDEFG
// BCAD CBAD
//样例输出:
// ACBFGED
// CDAB
#include "stdio.h"
#include <string.h>
void build(char* prestr,char* instr,char* laststr,int len){
if(len<=0)return;
int pos = strchr(instr,prestr[0])-instr; //找到根节点在中序遍历中的位置
build(prestr+1,instr,laststr,pos); //递归构造左子树的后序遍历
build(prestr+pos+1,instr+pos+1,laststr+pos,len-pos-1); //递归构造右字数的后序遍历
laststr[len-1] = prestr[0]; //把根节点添加到后序遍历的后端
}
main(){
char pres[10000];
char ins[10000];
char lasts[10000];
while(scanf("%s%s",pres,ins)== 2){
int len = strlen(pres);
build(pres,ins,lasts,len);
lasts[len]='\0';
printf("%s\n",lasts);
}
}