#include <stdio.h>
#include <string.h>
char a[100][100];
int rm[100][100],jm[100][100],rj,ri,ji,jj,n,m,min;
int pi[10]={0,1,1,1,0,-1,-1,-1},
pj[10]={-1,-1,0,1,1,1,0,-1},inc,sf,i,j,k,qi[10000],qj[10000];
void lee(int I,int J,int mat[100][100])
{
qi[0]=I;
qj[0]=J;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
mat[i][j]=-1;
mat[I][J]=1;
inc=0;
sf=0;
while(inc<=sf)
{
for(k=0;k<8;k++)
{
i=qi[inc]+pi[k];
j=qj[inc]+pj[k];
if(a[i][j]!='X' && mat[i][j]==-1)
{
mat[i][j]=mat[qi[inc]][qj[inc]]+1;
qi[++sf]=i;
qj[sf]=j;
}
}
inc++;
}
}
int main()
{
freopen("rj.in","r",stdin);
freopen("rj.out","w",stdout);
scanf("%d%d\n",&n,&m);
for(i=0;i<n;i++)
{
gets(a[i]);
for(j=0;j<m;j++)
if(a[i][j]=='J'){rj=j;ri=i;}
else if(a[i][j]=='R'){jj=j;ji=j;}
}
for(i=0;i<n;i++)
printf("%s\n",a[i]);
lee(ri,rj,rm);
lee(ji,jj,jm);
min=n*m;
for(i=0;i<n;i++)
{for(j=0;j<m;j++)
{if(rm[i][j]!=-1 && rm[i][j]==jm[i][j] && min>rm[i][j]){min=rm[i][j];ri=i;rj=j;}
printf("%d ",rm[i][j]);
}
printf("\n");
}
printf("\n%d %d %d",min,ri+1,rj+1);
return 0;
}