#include <stdio.h>
#include<string.h>
#include<stdlib.h>
typedef struct tree{
struct tree* lchild;
struct tree *rchild;
char v;
}tree,*node;
node create(char a[],char b[],int a1,int a2,int b1,int b2){
node no=(tree *)malloc(sizeof(tree));
no->v=a[a1];
if(a1==a2){
no->lchild=NULL;
no->rchild=NULL;
return no;
}
int len=0;
int a11;
int i;
for(i=b1;b[i]!=a[a1];i++){
len++;
}
if(len==0){
no->lchild=NULL;
no->rchild=create(a,b,a1+len+1,a2,i+1,b2);
}else if(len+b1==b2){
no->rchild=NULL;
no->lchild=create(a,b,a1+1,a1+len,b1,i-1);
}
else{
no->lchild=create(a,b,a1+1,a1+len,b1,i-1);
no->rchild=create(a,b,a1+len+1,a2,i+1,b2);
}
return no;
}
void visit(node r){
printf("%c",r->v);
}
void houxu(node r){
if(r==NULL)return;
houxu(r->lchild);
houxu(r->rchild);
visit(r);
}
int main() {
char a[26],b[26],c[26];
while(scanf("%s %s",a,b)!=EOF){
int i=strlen(a);
int j=strlen(b);
node root=create(a,b,0,i-1,0,i-1);
houxu(root);
printf("\n");
}
return 0;
}