#include<stdio.h>
int linie[8]={-1,-1,0,1,1,1,0,-1};
int coloana[8]={0,1,1,1,0,-1,-1,-1};
struct bine { int lin ; int col;};
bine coada[100001];
int romeo[101][101],julieta[101][101],m,n;
void lee(int lp,int cp, int a[101][101]){
int ic,sf,l,c,i;
ic=sf=1;
coada[ic].lin=lp;
coada[ic].col=cp;
a[lp][cp]=1;
while(ic<=sf){
for(i=0;i<8;i++){
l=linie[i]+coada[ic].lin;
c=coloana[i]+coada[ic].col;
if(a[l][c]==0&&l>=1&&l<=n&&c>=1&&c<=m){
sf++;
coada[sf].lin=l;
coada[sf].col=c;
a[l][c]=a[coada[ic].lin][coada[ic].col]+1;
}
}
ic++;
}
}
int main(){
int i,j,lr,cr,lj,cj,min,ls,cs;
char c;
freopen("rj.in","r",stdin);
freopen("rj.out","w",stdout);
scanf("%d%d%c",&n,&m,&c);
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
scanf("%c",&c);
if(c=='X'){
romeo[i][j]=-1;
julieta[i][j]=-1;
}
else
if(c=='R'){
lr=i;
cr=j;
}
else
if(c=='J'){
lj=i;
cj=j;
}
}
if(c!='\n')
scanf("%c",&c);
}
lee(lr,cr,romeo);
lee(lj,cj,julieta);
min=99999999;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++){
if(romeo[i][j]==julieta[i][j]&&romeo[i][j]<min&&romeo[i][j]!=0&&romeo[i][j]!=-1){
min=romeo[i][j];
ls=i;
cs=j;
}
}
printf("%d %d %d\n",min,ls,cs);
return 0;
}