#include <iostream>
#include <cstdio>
using namespace std;
int dcol[8]={0,-1,1,1,0,1,-1,-1},dlin[8]={-1,-1,0,-1,1,1,0,1};
struct cap{
int l;
int c;
};
cap coada[10001];
void lee(int mat[102][102],int lp,int cp){
int sf,inc,lin,col,i;
sf=1;
inc=1;
mat[lp][cp]=1;
coada[1].l=lp;
coada[1].c=cp;
while(inc<=sf){
for(i=0;i<8;i++){
lin=coada[inc].l+dlin[i];
col=coada[inc].c+dcol[i];
if(mat[lin][col]==0){
sf++;
coada[sf].l=lin;
coada[sf].c=col;
mat[lin][col]=mat[coada[inc].l][coada[inc].c]+1;
}
}
inc++;
}
}
int rom[102][102],jul[102][102];
int main()
{
freopen("rj.in","r",stdin);
freopen("rj.out","w",stdout);
char a[101][101],ch;
int n,m,lini,coli,minn=10001,lpj,cpj,lpr,cpr,i,j;
cin>>n>>m;
for(i=0;i<=n+1;i++){
rom[i][0]=-1;
rom[i][m+1]=-1;
jul[i][0]=-1;
jul[i][m+1]=-1;
}
for(j=1;j<=m;j++){
rom[0][j]=-1;
rom[n+1][j]=-1;
jul[0][j]=-1;
jul[n+1][j]=-1;
}
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
cin.get(a[i][j]);
if(a[i][j]==' ')
rom[i][j]=0;
if(a[i][j]=='X')
rom[i][j]=-1;
if(a[i][j]=='R'){
lpr=i;
cpr=j;
rom[i][j]=0;
}
if(a[i][j]=='J'){
lpj=i;
cpj=j;
rom[i][j]=0;
}
jul[i][j]=rom[i][j];
}
cin.get(ch);
}
lee(rom,lpr,cpr);
lee(jul,lpj,cpj);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(rom[i][j]==jul[i][j] && rom[i][j]<minn && rom[i][j]!=-1 && rom[i][j]!=0){
lini=i;
coli=j;
minn=rom[i][j];
}
cout<<minn<<" "<<lini<<" "<<coli;
return 0;
}