#include<bits/stdc++.h>
#define MOD 1000000007LL
#define ll long long

using namespace std;

int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    string t,s;
    cin>>t>>s;
    bool allas=true;
    int acnt=0;
    for(int i=0;i<s.length();i++){
        if(s[i]!='a'){
            allas=false;
            break;
        }
        else{
            acnt++;
        }
    }
    if(allas){
        int cnt=0;
        for(int i=0;i<t.length();i++){
            if(t[i]=='a'){
                cnt++;
            }
        }
        cout<<cnt-acnt+1<<endl;
        int x=cnt-acnt+1;
        for(int i=0;i<t.length();i++){
            if(t[i]=='a' && x>0){
                cout<<'*';
                x--;
            }
            else{
                cout<<t[i];
            }
        }
    }
    else if(s=="ab"){
        int prefixas[200010];
        int prefixbs[200010];
        prefixas[0]=0;
        prefixbs[0]=0;
        for(int i=0;i<t.length();i++){
            prefixas[i+1]=prefixas[i];
            prefixbs[i+1]=prefixbs[i];
            if(t[i]=='a'){
                prefixas[i+1]++;
            }
            if(t[i]=='b'){
                prefixbs[i+1]++;
            }
        }
        int minsol=t.length();
        int edge;
        for(int i=0;i<t.length();i++){
            if(minsol>prefixas[i+1]+prefixbs[t.length()]-prefixbs[i+1]){
                minsol=prefixas[i+1]+prefixbs[t.length()]-prefixbs[i+1];
                edge=i;
            }
        }
        cout<<minsol<<endl;
        for(int i=0;i<=edge;i++){
            if(t[i]=='a'){
                cout<<'*';
            }
            else{
                cout<<t[i];
            }
        }
        for(int i=edge+1;i<t.length();i++){
            if(t[i]=='b'){
                cout<<'*';
            }
            else{
                cout<<t[i];
            }
        }
    }
    else if(s=="abc"){
        int prefixas[200010];
        int prefixbs[200010];
        int prefixcs[200010];
        prefixas[0]=0;
        prefixbs[0]=0;
        prefixcs[0]=0;
        for(int i=0;i<t.length();i++){
            prefixas[i+1]=prefixas[i];
            prefixbs[i+1]=prefixbs[i];
            prefixcs[i+1]=prefixcs[i];
            if(t[i]=='a'){
                prefixas[i+1]++;
            }
            if(t[i]=='b'){
                prefixbs[i+1]++;
            }
            if(t[i]=='c'){
                prefixcs[i+1]++;
            }
        }
        int minsol=t.length();
        int edge1,edge2;
        for(int i=0;i<t.length();i++){
            for(int j=i;j<t.length();j++){
                if(minsol>prefixas[i+1]+prefixbs[j+1]-prefixbs[i+1]+prefixcs[t.length()]-prefixcs[j+1]){
                    minsol=prefixas[i+1]+prefixbs[j+1]-prefixbs[i+1]+prefixcs[t.length()]-prefixcs[j+1];
                    edge1=i;
                    edge2=j;
                }
            }
        }
        cout<<minsol<<endl;
        for(int i=0;i<=edge1;i++){
            if(t[i]=='a'){
                cout<<'*';
            }
            else{
                cout<<t[i];
            }
        }
        for(int i=edge1+1;i<=edge2;i++){
            if(t[i]=='b'){
                cout<<'*';
            }
            else{
                cout<<t[i];
            }
        }
        for(int i=edge2+1;i<t.length();i++){
            if(t[i]=='c'){
                cout<<'*';
            }
            else{
                cout<<t[i];
            }
        }
    }
    return 0;
}