#include <cstdio>
char h[105][105];
int a[105][105],n,m,xr,yr,xj,yj,b[105][105],dx[9]={0,0,1,0,-1,1,1,-1,-1},dy[9]={0,1,0,-1,0,1,-1,-1,1};
char x[10009],y[10009];
void cit()
{
int i,j;
char q;
freopen("rj.in","r",stdin);
scanf("%d%d%c",&n,&m,&q);
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
scanf("%c",&h[i][j]);
if(h[i][j]=='R')
{
xr=i; yr=j;
}
if(h[i][j]=='J')
{
xj=i; yj=j;
}
}
scanf("%c",&q);
}
}
void leer()
{
int l,xi,yi,d,st=1,dr=1;
x[1]=xr; y[1]=yr;
b[xr][yr]=1;
while(st<=dr)
{
d=b[x[st]][y[st]]+1;
for(l=1;l<=8;l++)
{
xi=x[st]+dx[l]; yi=y[st]+dy[l];
if(xi<=n && xi>=1 && yi<=m && yi>=1)
if((b[xi][yi]==0 || b[xi][yi]>d) && h[xi][yi]!='X')
{
dr++;
x[dr]=xi; y[dr]=yi;
b[xi][yi]=d;
}
}
st++;
}
}
void leej()
{
int l,xi,yi,d,st=1,dr=1;
x[1]=xj; y[1]=yj;
a[xj][yj]=1;
while(st<=dr)
{
d=a[x[st]][y[st]]+1;
for(l=1;l<=8;l++)
{
xi=x[st]+dx[l]; yi=y[st]+dy[l];
if(xi<=n && xi>=1 && yi<=m && yi>=1)
if((a[xi][yi]==0 || a[xi][yi]>d) && h[xi][yi]!='X')
{
dr++;
x[dr]=xi; y[dr]=yi;
a[xi][yi]=d;
}
}
st++;
}
}
void afis(int x,int y,int tmin)
{
freopen("rj.out","w",stdout);
printf("%d %d %d",tmin,x,y);
}
void minim()
{
int i,j,min=10000,p,q;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(a[i][j]!=0 && a[i][j]==b[i][j] && a[i][j]<min)
{
p=i; q=j;
min=a[i][j];
}
afis(p,q,min);
}
int main()
{
cit();
leer();
leej();
minim();
return 0;
}