#include <bits/stdc++.h>

using namespace std;

void resi(string str, string X)
{

    int N = str.size();
    int M = X.size();

    int dp[N][M];
    string test[N][M];

    for(int i=0;i<N;++i){
        for(int j=0;j<M;++j){
            dp[i][j]=0;
            test[i][j]=str;
        }
    }

    for (int j = 0; j < M; j++) {

        if (str[0] == X[j]) {

            dp[0][j] = 1;
            test[0][j][0]='*';
        }
    }

    for (int i = 1; i < N; i++) {

        for (int j = 0; j < M; j++) {

            if (str[i] == X[j]) {

                dp[i][j] = dp[i - 1][j] + 1;
                test[i][j]=test[i-1][j];
                test[i][j][i]='*';

                if (j != 0){
                    dp[i][j]= min(dp[i][j], dp[i - 1][j - 1]);
                    if(dp[i][j]==dp[i-1][j-1]){
                        test[i][j]=test[i-1][j-1];
                    }
                }
            }

            else {

                dp[i][j] = dp[i - 1][j];
                test[i][j] = test[i-1][j];
            }
        }
    }

    cout << dp[N - 1][M - 1] <<endl;
    cout << test[N-1][M-1] << endl;
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    string t;
    cin >> t;
    string s;
    cin >> s;

    resi(t,s);

    return 0;
}