#include <iostream>
#include <cstring>
#include <climits>
#include <vector>

using namespace std;
struct Ponavljanje {
	int krajPonavljanja;
	int brojPonavljanja;
	Ponavljanje(int krajPonavljanja_, int brojPonavljanja_) {
		krajPonavljanja = krajPonavljanja_;
		brojPonavljanja = brojPonavljanja_;
	}
};

int main() 
{
	int izmena = 0;
    string tekst;
	string zabranjenaRec;
	cin >> tekst;
	cin >> zabranjenaRec;
	int brojac = 0;
	int pocetakReci;
	vector<Ponavljanje> ponavljanjeNiz;
	int ponavljanjeA;
	int ponavljanjeB = 0;
	int poslednjiIndexA;
	int velicina = zabranjenaRec.size();
	int brPonavljanja = 0;
	if (zabranjenaRec[0] == 'a' && zabranjenaRec[1] == 'b' )
	{
		for (int i = 0; i < tekst.size(); i++)
		{
			
			if (tekst[i] == zabranjenaRec[0] && ponavljanjeB == 0)
			{
				brPonavljanja++;
				poslednjiIndexA = i;
			}
			else if (tekst[i] == zabranjenaRec[1] && brPonavljanja > 0) 
			{				
				ponavljanjeA = brPonavljanja;
				
				ponavljanjeB++;								
			}
			else if(tekst[i] == zabranjenaRec[0] && ponavljanjeB > 0)
			{				
				if (ponavljanjeA > ponavljanjeB)
				{
					for (int j = 1; j <= ponavljanjeB; j++)
					{
						tekst[i - j] = '*';
					}

				}
				else
				{
					for (int j = 0; j < ponavljanjeA; j++)
					{
						tekst[poslednjiIndexA - j] = '*';
					}
				}
				brPonavljanja = 0;
				ponavljanjeA = 0;
				ponavljanjeB = 0;
			}
			else 
			{
				brPonavljanja = 0;
			}			
			
			
		}
	}
	else
	{
		for (int i = 0; i < tekst.size(); i++)
		{
			if (tekst[i] == zabranjenaRec[0])
			{
				brPonavljanja++;
			}
			else
			{
				brPonavljanja = 0;

			}
			if (brPonavljanja >= velicina)
			{
				tekst[i] = '*';
				
			}
		}
	}
	
	
	for (int i = 0; i < tekst.size(); i++)
	{
		if (tekst[i] == '*')
		{
			izmena++;
		}
	}
	cout << izmena << endl;
	cout << tekst << endl;
	return 0;
}