#include <iostream>
#include <math.h>
#include<bits/stdc++.h>

using namespace std;
struct Treenode{
    char val;
    Treenode*left;
    Treenode*right;
    Treenode(char c):val(c),left(NULL),right(NULL){};
};

Treenode* creattree(string preorder,string inorder){
    if(preorder.size()==0)return NULL;
    else{
    char c=preorder[0];
    Treenode *root=new Treenode(c);
    int position=inorder.find(c);
    root->left=creattree(preorder.substr(1,position),inorder.substr(0,position));
    root->right=creattree(preorder.substr(position+1),inorder.substr(position+1));
    return root;

    }

}

void houxu(Treenode*root){
    if(root==NULL)return;
    else{
        houxu(root->left);
        houxu(root->right);
        cout<<root->val;
    }
}

int main(){
    string preorder,inorder;
    while(cin>>preorder>>inorder){
        Treenode*root=creattree(preorder,inorder);
        houxu(root);
        cout<<endl;
    }

    return 0;
}