#include<iostream.h>
#include<stdio.h>
FILE *f,*g;
void main()
{
f=fopen("rj.in","r");
g=fopen("rj.out","w");
int m,n,i,j; int rx,ry,jx,jy;
char a[100][100];
int dx[]={0,0,-1,-1,-1,1,1,1};
int dy[]={1,-1,0,1,-1,0,-1,1};
fscanf(f,"%d %d\n",&n,&m);
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
fscanf(f,"%c",&a[i][j]);
cout<<a[i][j];
if(a[i][j]=='R') {rx=i;ry=j;}
if(a[i][j]=='J') {jx=i;jy=j;}
}
fscanf(f,"\n");cout<<"\n";
}
int cl,cv,vb=0;
int d[100][100],d1[100][100];
for(i=0;i<=m+1;i++)
{
a[0][i]=d[0][i]=-1;
a[n+1][i]=d[n+1][i]=-1;
}
for(i=0;i<=n+1;i++)
{
a[i][0]='1';
a[i][m+1]='1';
}
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{d[i][j]=d1[i][j]=0;}
int k=1,x;
d[rx][ry]=k;
do
{
vb=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
if(d[i][j]==k)
{
for(x=0;x<8;x++)
{
cl=i+dx[x];
cv=j+dy[x];
if((d[cl][cv]==0)&&(a[cl][cv]!='X')&&(a[cl][cv]!='1'))
{
d[cl][cv]=k+1;
vb=1;
}
}
}
}
if(vb)k++;
}
while(vb);
k=1;
d1[jx][jy]=k;
do
{
vb=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
if(d1[i][j]==k)
{
for(x=0;x<8;x++)
{
cl=i+dx[x];
cv=j+dy[x];
if((d1[cl][cv]==0)&&(a[cl][cv]!='X')&&(a[cl][cv]!='1'))
{
d1[cl][cv]=k+1;
vb=1;
}
}
}
}
if(vb)k++;
}
while(vb);
int min=20000;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
if(d[i][j]==d1[i][j])
if(d[i][j]<min&&d[i][j]>0) {min=d[i][j];rx=i;ry=j;}
}
fprintf(g,"%d %d %d\n",min,rx,ry);
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
fprintf(g,"%d",d[i][j]);
fprintf(g,"\n");
}
fprintf(g,"\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
fprintf(g,"%d",d1[i][j]);
fprintf(g,"\n");
}
}