#include<stdio.h>
char x;
int R[102][102],J[102][102],ic,jc,iv,jv,ir,jr,ij,jj,m,n,i,j,k,isol,jsol,min,p,u;
int di[8] = {-1, -1, 0, 1, 1, 1, 0, -1};
int dj[8] = {0, 1, 1, 1, 0, -1, -1, -1};
int c[2][102*102];
int main () {
FILE *f = fopen("rj.in","r");
FILE *g = fopen("rj.out","w");
fscanf(f,"%d %d\n",&n,&m);
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
fscanf(f,"%c",&x);
if(x=='R'){
R[i][j]=-1;
J[i][j]=-1;
ir=i;
jr=j;
}
if(x=='J'){
R[i][j]=-2;
J[i][j]=-2;
ij=i;
jj=j;
}
if(x=='X'){
R[i][j]=-3;
J[i][j]=-3;
}
}
fscanf(f,"%c",&x);
}
for (j=0; j<=m+1; j++)
R[0][j] = R[n+1][j] = J[0][j] = J[n+1][j] = -1;
for (i=0; i<=n+1; i++)
R[i][0] = R[i][m+1] = J[i][0] = J[i][m+1] = -1;
p=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(k=0;k<=7;k++){
iv=ic+di[k];
jv=jc+dj[k];
if(R[iv][jv]==0){
u++;
c[0][u]=iv;
c[1][u]=jv;
R[iv][jv]=R[ic][jc]+1;
}
}
p++;
}
p=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(k=0;k<=7;k++){
iv=ic+di[k];
jv=jc+dj[k];
if(J[iv][jv]==0){
u++;
c[0][u]=iv;
c[1][u]=jv;
J[iv][jv]=J[ic][jc]+1;
}
}
p++;
}
min = 1000;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(R[i][j]==J[i][j] && R[i][j]>0 && R[i][j]<min){
isol=i;
jsol=j;
min=R[i][j];
}
fprintf(g,"%d %d %d",min, isol, jsol);
fclose(f);
fclose(g);
return 0;
}