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