#include<bits/stdc++.h>
using namespace std;
void sea(string a,string b){
if(a.size()>0){
char ch=b[b.size()-1];
cout<<ch;
int k=a.find(ch);
sea(a.substr(0,k),b.substr(0,k));//递归左子树
sea(a.substr(k+1),b.substr(k,a.size()-k-1));//递归右子树 为什么这样写?
}
}
int main(){
string a,b;
cin>>a>>b;
sea(a,b);
return 0;
}