#include<bits/stdc++.h>
using namespace std;
const int N=505;
int n,m,k,sum,sumxl,sumxr,sumyl,sumyr;
char a[N][N];
int b[N][N],c[N][N];
bool check1(int xl,int xr,int yl,int yr)
{
if(c[xr][yr]-c[xr][yl-1]-c[xl-1][yr]+c[xl-1][yl-1]>0)
{
return 0;
}
if(b[xr][yr]-b[xr][yl-1]-b[xl-1][yr]+b[xl-1][yl-1]<=k)
{
return 1;
}
if(b[xr][yr]-b[xr][yl-1]-b[xl-1][yr]+b[xl-1][yr-1]>=(xr-xl+1)*(yr-yl+1)-k)
{
return 1;
}
return 0;
}
bool check2(int xl,int xr,int yl,int yr)
{
if(c[xr][yr]-c[xr][yl-1]-c[xl-1][yr]+c[xl-1][yr-1]==(xr-xl+1)*(yr-yl+1))
{
return 1;
}
return 0;
}
int main()
{
cin>>n>>m>>k;
for(int i=1;i<=n;i++)
{
cin>>(a[i]+1);
for(int j=1;j<=m;j++)
{
b[i][j]=b[i][j-1]+b[i-1][j]-b[i-1][j-1]+(a[i][j]=='G');
c[i][j]=c[i][j-1]+c[i-1][j]-c[i-1][j-1]+(a[i][j]=='P');
}
}
for(int i=1;i<=m;i++)
{
for(int j=i;j<=m;j++)
{
int l=1,r=0;
while(r<=n&&l<=n)
{
while(r<n&&check1(l,r+1,i,j))
{
r++;
}
if((j-i+1)*(r-l+1)>sum)
{
sumxl=l;
sumxr=r;
sumyl=i;
sumyr=j;
sum=(j-i+1)*(r-l+1);
}
l++;
}
}
}
for(int i=1;i<=m;i++)
{
for(int j=i;j<=m;j++)
{
int l=1,r=0;
while(r<=n&&l<=n)
{
while(r<n&&check2(l,r+1,i,j))
{
r++;
}
if((j-i+1)*(r-l+1)>sum)
{
sumxl=l;
sumxr=r;
sumyl=i;
sumyr=j;
sum=(j-i+1)*(r-l+1);
}
l++;
}
}
}
cout<<sum<<endl;
if(check2(sumxl,sumxr,sumyl,sumyr))
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cout<<a[i][j];
}
cout<<endl;
}
}
else if(b[sumxr][sumyr]-b[sumxr][sumyl-1]-b[sumxl-1][sumyr]+b[sumxl-1][sumyl-1]<=k)
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(i>=sumxl&&i<=sumxr&&j>=sumyl&&j<=sumyr)
{
cout<<"B";
}
else
{
cout<<a[i][j];
}
}
cout<<endl;
}
}
else
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(i>=sumxl&&i<=sumxr&&j>=sumyl&&j<=sumyr)
{
cout<<"G";
}
else
{
cout<<a[i][j];
}
}
cout<<endl;
}
}
return 0;
}
/*
*/
WA十三个