#include<iostream>
#include<string>
using namespace std;
struct TreeNode{
char data;
TreeNode* leftchild;
TreeNode* rightchild;
};
//返回这棵树的根节点,每次找一个根节点
TreeNode*buildtree(string preorder,string inorder){
if(preorder.size()==0){
return NULL;
}
else{
char rootdata=preorder[0];
TreeNode* p=new TreeNode;
p->data=rootdata;
int pos=inorder.find(p->data);
p->leftchild=buildtree(preorder.substr(1,pos),inorder.substr(0,pos));
p->rightchild=buildtree(preorder.substr(pos+1),inorder.substr(pos+1));
return p;
}
}
void postorder(TreeNode*root){
if(root==NULL){
return;
}
postorder(root->leftchild);
postorder(root->rightchild);
cout<<root->data;
}
int main(){
char preorder[30];
char inorder[30];
while(cin>>preorder>>inorder){
TreeNode* root=buildtree(preorder,inorder);
postorder(root);
cout<<endl;
}
}