//题意:给出该树前序以及中序的结果
//根据当前树的前序和中序为状态
//求出后序遍历的结果
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
#define MAXN 40
char str1[MAXN];
char str2[MAXN];
char ret[MAXN];
int root;
int cnt;
//因为中序与前序的长度是相同的
void dfs(int leftL,int rightL)
{
if (leftL==rightL)
{
ret[cnt++] = str1[root];
root++;
return;
}
for (int i=leftL;i<=rightL;++i)
{
if (str2[i]==str1[root])
{
root++;
if (i>leftL)
dfs(leftL,i-1);
if (i<rightL)
dfs(i+1,rightL);
ret[cnt++] = str2[i];
break;
}
}
}
int main()
{
scanf("%s %s",str1,str2);
cnt = 0;
root = 0;
dfs(0,strlen(str2)-1);
for (int i=0;i<cnt;++i)
printf("%c",ret[i]);
return 0;
}