#include <bits/stdc++.h>
using namespace std;
int dp[200100][11];
bool cenzurisan[200100][11];
pair<int,int> prev[200100][11];
const int INF=200101;
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    string t,s;
    cin>>t>>s;
    int n=t.length();
    int m=s.length();
    for(int i=0;i<=n;i++) dp[i][0]=INF;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            if(j>i) dp[i][j]=0;
            else
            {
               if(t[i-1]==s[j-1])
               {
                  //dp[i][j]=min(dp[i-1][j]+1,dp[i-1][j-1]);
                  if(dp[i-1][j]+1<dp[i-1][j-1]) //brisemo iti char
                  {
                      dp[i][j]=dp[i-1][j]+1;
                  }
                  else
                  {
                      dp[i][j]=dp[i-1][j-1];
                  }
               }
               else
               {
                   dp[i][j]=dp[i-1][j];
               }
            }
        }
    }
    cout<<dp[n][m]<<endl;
    int ii=n,jj=m;
    while(ii>=0)
    {
        if(t[ii-1]==s[jj-1])
        {
            if(dp[ii][jj]==dp[ii-1][jj]+1)
            {
                t[ii-1]='*';
                ii--;
            }
            else
            {
                ii--;
                jj--;
            }
        }
        else
        {
            ii--;
        }
    }
    cout<<t<<endl;
}