#include <stdio.h>
FILE*f=fopen("rj.in","r");
FILE*g=fopen("rj.out","w");
int min,i,j,n,m,x1,x2,y1,y2,ju[102][102],r[102][102],p,u,c,cl[10001],cc[10001],ic,jc,iv,jv;
char a[101][101],x;
int dl[8]={-1,-1,-1,0,1,1,1,0};
int dc[8]={-1,0,1,1,1,0,-1,-1};
int main() {
fscanf(f,"%d%d",&n,&m);
fscanf(f,"%c",&c);
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
fscanf(f,"%c",&x);
if(x=='X'){
a[i][j]=1;
r[i][j]=ju[i][j]=-1;
}
else
if(x=='R'){
x1=i;
y1=j;
}else
if(x=='J'){
x2=i;
y2=j;
}
}
fscanf(f,"%c",&c);
}
for(i=0;i<=n+1;i++)
r[i][0]=r[i][m+1]=ju[i][0]=ju[i][m+1]=-1;
for(i=1;i<=m;i++)
r[0][i]=r[n+1][i]=ju[0][i]=ju[n+1][i]=-1;
cl[1]=x1;
cc[1]=y1;
r[x1][y1]=1;
p=u=1;
while(p<=u){
ic=cl[p];
jc=cc[p];
for(i=0;i<=7;i++){
iv = ic + dl[i];
jv = jc + dc[i];
if(a[iv][jv]==0&&r[iv][jv]==0){
r[iv][jv]=r[ic][jc]+1;
u++;
cl[u]=cl[p]+dl[i];
cc[u]=cc[p]+dc[i];
}
}
p++;
}
cl[1]=x2;
cc[1]=y2;
ju[x2][y2]=1;
p=u=1;
while(p<=u){
ic = cl[p];
jc = cc[p];
for(i=0;i<=7;i++) {
iv = ic + dl[i];
jv = jc + dc[i];
if(a[iv][jv]==0&&ju[iv][jv]==0){
ju[iv][jv]=ju[ic][jc]+1;
u++;
cl[u]=cl[p]+dl[i];
cc[u]=cc[p]+dc[i];
}
}
p++;
}
min=1000000000;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(r[i][j]==ju[i][j]&&r[i][j]<min&&r[i][j]>0){
x1=i;
y1=j;
min=r[i][j];
}
fprintf(g,"%d %d %d",min,x1,y1);
fclose(g);
fclose(f);
return 0;
}