#include<string.h>
#include<stdlib.h>
struct node
{
char ch;
struct node *lchild;
struct node *rchild;
}tree[100];
int col;
char fstr[100],mstr[100];
node* create()
{
tree[col].rchild=NULL;
tree[col].lchild=NULL;
return &tree[col++];
}
node *build(int f1,int f2,int m1,int m2)
{
int s,i,j;
char ch;
node *res=create();
res->ch=fstr[f1];
for(i=m1;i<=m2;i++)
{
if(mstr[i]==fstr[f1])
{s=i;
// printf("%d\n",i);
break;}
}
if(s!=m1)
{
res->lchild=build(f1+1,f1+(s-m1),m1,s-1);
}
if(s!=m2)
{
res->rchild=build(f1+s-m1+1,f2,s+1,m2);
}
return res;
}
void play(node *h)
{
// printf("!!!!!!!");
if(h!=NULL)
{
play(h->lchild);
play(h->rchild);
printf("%c",h->ch);
}
}
int main()
{
int i,j,len1,len2;
node *T;
gets(fstr);
gets(mstr);
len1=strlen(fstr);
len2=strlen(mstr);
T=build(0,len1-1,0,len2-1);
play(T);
printf("\n");
return 0;
}