using namespace std;
char a[111][111];
struct c{
int x,y;
};
int n,m,ans;
queue<c> q;
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cin>>a[j][i];
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(a[j][i]!='.')
{
c tmp={j,i};
q.push(tmp);
while(!q.empty())
{
int ux=q.front().x;
int uy=q.front().y;
q.pop();
if(a[ux+1][uy]=='w')
{
c tmp={ux+1,uy};
q.push(tmp);
a[ux+1][uy]='.';
}
if(a[ux-1][uy]=='w')
{
c tmp={ux-1,uy};
q.push(tmp);
a[ux-1][uy]='.';
}
if(a[ux][uy+1]=='w')
{
c tmp={ux,uy+1};
q.push(tmp);
a[ux][uy+1]='.';
}
if(a[ux][uy-1]=='w')
{
c tmp={ux,uy-1};
q.push(tmp);
a[ux][uy-1]='.';
}
if(a[ux+1][uy+1]=='w')
{
c tmp={ux+1,uy+1};
q.push(tmp);
a[ux+1][uy+1]='.';
}
if(a[ux-1][uy-1]=='w')
{
c tmp={ux-1,uy-1};
q.push(tmp);
a[ux-1][uy-1]='.';
}
if(a[ux-1][uy+1]=='w')
{
c tmp={ux-1,uy+1};
q.push(tmp);
a[ux-1][uy+1]='.';
}
if(a[ux-1][uy-1]=='w')
{
c tmp={ux-1,uy-1};
q.push(tmp);
a[ux-1][uy-1]='.';
}
}
ans++;
}
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cout<<a[j][i];
}
cout<<endl;
}
cout<<ans;
}```