#include<stdio.h>
FILE *fin=fopen("rj.in","r");
FILE *fout=fopen("rj.out","w");
int n,m,c[3][10001],ir,jr,ij,jj,p,u,R[102][102],J[102][102],ic,jc,d,iv,jv,i,j,jmin,imin,minim;
char a[102][102],ch;
int di[]={1,-1,0,0,1,-1,1,-1};
int dj[]={0,0,1,-1,1,-1,-1,1};
void citire(){
int i,j;
fscanf(fin,"%d %d%c",&n,&m,&ch);
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
a[i][j]=fgetc(fin);
if(a[i][j]=='R'){
ir=i;
jr=j;
}
else
if(a[i][j]=='J'){
ij=i;
jj=j;
}
}
fgetc(fin);
}
}
void afisare(){
int i,j;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
printf("%c",a[i][j]);
}
printf("*\n");
}
}
int main(){
citire();
afisare();
p=1;u=1;
c[0][1]=ir;
c[1][1]=jr;
R[ir][jr]=1;
while(p<=u){
ic=c[0][p];
jc=c[1][p];
for(d=0;d<=7;d++){
iv=ic+di[d];
jv=jc+dj[d];
if(a[iv][jv]==' ' && R[iv][jv]==0){
u++;
c[0][u]=iv;
c[1][u]=jv;
R[iv][jv]=R[ic][jc]+1;
}
}
p++;
}
// drum pentru J
p=1;u=1;
c[0][1]=ij;
c[1][1]=jj;
J[ij][jj]=1;
while(p<=u){
ic=c[0][p];
jc=c[1][p];
for(d=0;d<=7;d++){
iv=ic+di[d];
jv=jc+dj[d];
if(a[iv][jv]==' ' && J[iv][jv]==0){
u++;
c[0][u]=iv;
c[1][u]=jv;
J[iv][jv]=J[ic][jc]+1;
}
}
p++;
}
minim=100000;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
if(R[i][j]==J[i][j] && R[i][j]<minim && R[i][j]!=0){
minim=R[i][j];
imin=i;
jmin=j;
}
}
}
fprintf(fout,"%d %d %d",minim, imin, jmin);
return 0;
}