#include<bits/stdc++.h>
using namespace std;
typedef struct node* tree;
struct node{
char data;
tree left,right;
};
tree root;
string in,last;
int k;
void buildTree(int L,int R,tree &t){
if(L>R) return;
int flag=-1;
for(int i=L;i<=R;i++){
if(in[i]==last[k]){
flag=i;
break;
}
}
t=new node;
t->data=in[flag];
t->left=NULL;
t->right=NULL;
k--;
buildTree(flag+1,R,t->right);
buildTree(L,flag-1,t->left);
}
void preOrder(tree t){
if(t){
cout<<t->data;
preOrder(t->left);
preOrder(t->right);
}
}
int main(){
cin>>in>>last;
k=last.length()-1;
buildTree(0,k,root);
preOrder(root);
return 0;
}