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