#include <stdio.h>
char a[101][101];
long p,q,xr,yr,xj,yj,k,xx,yy,min=100000;
long n,m,i,j,mr[101][101],mj[101][101];
long xn[10001],yn[10001];
long dx[]={0,-1,-1,-1,0,1,1,1,0};
long dy[]={0,-1,0,1,1,1,0,-1,-1};
int main(){
freopen("rj.in","r",stdin);
freopen("rj.out","w",stdout);
scanf("%ld %ld\n",&n,&m);
//gets(a[0]);
for (i=1;i<=n;i++){
gets(a[i]);
for (j=0;j<m;j++){if (a[i][j]=='R'){xr=i;yr=j+1;}
if (a[i][j]=='J'){xj=i;yj=j+1;}
}
}
//drumul lui romeo
p=1;q=1;
mr[xr][yr]=1;
xn[1]=xr;
yn[1]=yr;
while (p<=q){
for (k=1;k<=8;k++){
xx=xn[p]+dx[k];
yy=yn[p]+dy[k];
if (xx>=1&&xx<=n&&yy>=1&&yy<=m){
if (!mr[xx][yy])
if (a[xx][yy-1]!='X'){
mr[xx][yy]=mr[xn[p]][yn[p]]+1;
q++;xn[q]=xx;yn[q]=yy;
}
}
}
p++;
}
//drumul julietei
p=1;q=1;
mj[xj][yj]=1;
xn[1]=xj;
yn[1]=yj;
while (p<=q){
for (k=1;k<=8;k++){
xx=xn[p]+dx[k];
yy=yn[p]+dy[k];
if (xx>=1&&xx<=n&&yy>=1&&yy<=m){
if (!mj[xx][yy])
if (a[xx][yy-1]!='X'){
mj[xx][yy]=mj[xn[p]][yn[p]]+1;
q++;xn[q]=xx;yn[q]=yy;
}
}
}
p++;
}
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
if (mr[i][j]&&mr[i][j]==mj[i][j])
if (mr[i][j]<min){min=mr[i][j];xx=i;yy=j;}
printf("%ld %ld %ld",min,xx,yy);
return 0;
}