#include<fstream>
using namespace std;
FILE *g=fopen("rj.out","w");
int i,j,n,m,rr[101][101],jj[101][101],tmin,p1,p2;
int xr,yr,xj,yj,dx[8]={-1,-1,0,1,1,1,0,-1},dy[8]={0,1,1,1,0,-1,-1,-1};
char x;
int verif(int x,int y,int a[101][101])
{
return(x<=0||y<=0||x>n||y>m||a[x][y]==-1||a[x][y]==0);
}
void rez(int x,int y,int p[101][101])
{
int i,xx,yy,st,dr,ok=1;
int q[100001][2];
q[0][0]=x;
q[0][1]=y;
st=dr=0;
p[x][y]=1;
while(st<=dr&&ok)
{
x=q[st][0];
y=q[st][1];
for(i=0;i<8;i++)
{
xx=x+dx[i];
yy=y+dy[i];
if(verif(xx,yy,p))
continue;
if(p[xx][yy]>p[x][y]+1)
{
p[xx][yy]=p[x][y]+1;
q[++dr][0]=xx;
q[dr][1]=yy;
}
}
st++;
}
}
int main()
{
FILE *f=fopen("rj.in","r");
fscanf(f,"%d%d",&n,&m);
fscanf(f,"%c",&x);
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
fscanf(f,"%c",&x);
if(x=='R')
xr=i,yr=j;
if(x=='J')
xj=i,yj=j;
if(x=='X')
rr[i][j]=jj[i][j]=-1;
if(x==' ')
rr[i][j]=jj[i][j]=1000000;
}
fscanf(f,"%c",&x);
}
rez(xr,yr,rr);
rez(xj,yj,jj);
tmin=1000000;
p1=1;
p2=1;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(rr[i][j]==jj[i][j]&&rr[i][j]<tmin&&rr[i][j]!=-1&&rr[i][j]!=0)
{
tmin=rr[i][j];
p1=i;
p2=j;
}
fprintf(g,"%d %d %d\n",tmin,p1,p2);
return 0;
}