#include <iostream>
#include <string>
using namespace std;
struct TreeNode{
    char data;
    TreeNode* leftChild;
    TreeNode* rightChild;
};
TreeNode* Build(string str1,string str2){
    if(str1.size()==0) return NULL;
    char c=str1[0];
    TreeNode* root=(TreeNode*)malloc(sizeof(TreeNode));
    root->data=c;
    int position=str2.find(c);
    root->leftChild=Build(str1.substr(1,position),str2.substr(0,position));
    root->rightChild=Build(str1.substr(position+1),str2.substr(position+1));
    return root;
}
void PostOrder(TreeNode* root){
    if(root==NULL) return;
    PostOrder(root->leftChild);
    PostOrder(root->rightChild);
    cout<<root->data;
    return;
}
int main(){
    string str1,str2;
    while(cin>>str1>>str2){
        TreeNode* root=Build(str1,str2);
        PostOrder(root);
        printf("\n");
    }
    return 0;
}