#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;
    }
}