#include <iostream>
#include<bits/stdc++.h>
using namespace std;
typedef struct node{
char data;
struct node *lchild,*rchild;
}treeno,*treenode;
void f(treenode &root,char *pre,char *in,int a,int b,int c,int d){
if(a<=b&&c<=d)
{
int i;
root=new treeno;
root->data=pre[a];
root->lchild=NULL;
root->rchild=NULL;
for(int j=c;j<=d;j++){
if(pre[a]==in[j]) i=j;
}
f(root->lchild,pre,in,a+1,a+i-c,c,i-1);
f(root->rchild,pre,in,a+i-c+1,b,i+1,d);
}
}
int visit(treenode root){
if(root==NULL) return 0;
visit(root->lchild);
visit(root->rchild);
cout<<root->data;
return 0;
}
int main()
{
treenode root;
char *pre,*in;
int m,n;
pre=new char[100];
in=new char[100];
cin>>pre>>in;//1234567 3256471
m=strlen(pre);
n=strlen(in);
f(root,pre,in,0,m-1,0,n-1);
visit(root);
//先1234567 中3256471 后3657421
// cout << "Hello world!" << endl;
return 0;
}