#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

bool test2(string s){
	for(int i=0;i<s.length();i++){
		if(s[i]!='a'){
			return false;
		}
	}
	return true;
}

bool test3(string s){
	if(s.length()==2 and s[0]=='a' and s[1]=='b'){
		return true;
	}
	return false;
}

int poc(string s){
	for(int i=0;i<s.length();i++){
		if(s[i]=='a'){
			return i;
		}
	}
	return s.length();
}

int kraj(string s){
	for(int i=s.length()-1;i>=0;i--){
		if(s[i]=='b'){
			return i;
		}
	}
	return 0;
}

int main(int argc, char** argv) {
	ios_base::sync_with_stdio(false);
	string s,ss;
	cin>>s>>ss;
	string kon="";
	int br=0;
	int n=s.length();
	if((ss=="a")){
		for(int i=0;i<n;i++){
			if(s[i]=='a'){
				br++;
				kon+='*';
			}
			else{
				kon+=s[i];
			}
		}
	}
	else if(test2(ss)){
		bool ok=true;
		int broja=ss.length();
		int brojaa=0;
		for(int i=0;i<n;i++){
			if(s[i]=='a'){
				brojaa++;
			}
		}
		for(int i=0;i<n;i++){
			if(brojaa<broja){
				ok=false;
			}
			if(s[i]=='a' and ok){
				kon+='*';
				br++;
				brojaa--;
			}
			else{
				kon+=s[i];
			}
		}
	}
	else if(test3(ss)){
		int bra=0,brb=0;
		char c;
		int i=poc(s)+1;
		while(i<kraj(s)){
			if(s[i]=='a'){
				bra++;
			}
			if(s[i]=='b'){
				brb++;
			}
			i++;
		}
		if(bra<brb){
			c='a';
		//	br=bra;
		}
		else{
			c='b';
		//	br=brb;
		}
		for(i=0;i<poc(s);i++){
			kon+=s[i];
		}
		i=poc(s);
		while(i<=kraj(s)){
			if(s[i]==c){
				kon+='*';
				br++;
			}
			else{
				kon+=s[i];
			}
			i++;
		}
		for(i=kraj(s)+1;i<n;i++){
			kon+=s[i];
		}
	}
	cout<<br<<endl<<kon;
	return 0;
}

/*
acbkbacb
ab
*/