using namespace std;
string a,b;
void tree(int l1 , int r1 , int l2 ,int r2){
    if(l1 > r1 || l2 > r2) {
        return ;这种情况是针对于该序列不存在左子树或者右子树的情况,很重要(不过也可以放在下面判断:也就是在两个递归前面都各自加一个判断条件if (l1 <= r1))
    }//
    else if (l1 == r1 || l2 == r2){
        cout << a[l1];
        return ;
    }
    else{
        int pos;
        for (int i = l1 ; i <= r1 ; i ++ ){
            if (a[i] == b[r2]){
                pos = i;
                break;
            }
        }
        cout << a[pos];
        tree(l1 , pos - 1 ,l2 , pos + l2 - l1 - 1);
        tree(pos + 1 ,r1 , l2 + pos - l1 ,r2 - 1);
    }
}
int main(){
    cin >> a >> b;
    int len = a.length();
    tree(0 , len -1 , 0 , len -1 );
    return 0;
}