#include<stdio.h>
FILE *f=fopen("rj.in","r");
FILE *g=fopen("rj.out","w");
#define M 101
int r[M][M],jj[M][M],m,n,rx,ry,jx,jy;
int dx[8]={0,0,-1,1,-1,-1,1,1};
int dy[8]={-1,1,0,0,-1,1,-1,1};
void cit()
{
int i,j;
char c;
fscanf(f,"%d%d%c",&n,&m,&c);
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
fscanf(f,"%c",&c);
if(c=='R') {r[i][j]=1;
rx=i;
ry=j;
jj[i][j]=32700;}
else if(c=='J') {jj[i][j]=1;
jx=i;
jy=j;
r[i][j]=32700;}
else if(c=='X') r[i][j]=jj[i][j]=-1;
else r[i][j]=jj[i][j]=32700;
}
fscanf(f,"%c",&c);
}
fclose(f);
}
void lee(int a[M][M],int x, int y)
{
int p,u,i,j,x0,y0,cx[M*M],cy[M*M];
p=u=1;
cx[p]=x;
cy[p]=y;
a[x][y]=0;
while(p<=u)
{
x=cx[p];
y=cy[p];
for(i=0;i<=8;i++)
{
x0=x+dx[i];
y0=y+dy[i];
if(x0 && y0 && x0<=n && y0<=m) if(a[x][y]+1<a[x0][y0]) {u++;
cx[u]=x0;
cy[u]=y0;
a[x0][y0]=a[x][y]+1;}
}
p++;
}
}
int main()
{
cit();
lee(r,rx,ry);
lee(jj,jx,jy);
int i,j,min=32700;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(r[i][j]==jj[i][j] && r[i][j]<min && r[i][j]!=-1) {min=r[i][j];
rx=i;ry=j;}
fprintf(g,"%d %d %d\n",min,rx,ry);
return 0;
}