#include <cstdio>
using namespace std;
int dx[]={0,1,0,-1,1,-1,1,-1};
int dy[]={1,0,-1,0,1,1,-1,-1};
int a[105][105],b[105][105],i,j,in,sf,n,m,l1,c1,l2,c2,qx[10000],qy[10000],x,y,px,py,min1,cate;
char c;
int main()
{
freopen("rj.in","r",stdin);
freopen("rj.out","w",stdout);
scanf("%d %d",&n,&m);
min1=99999;
j=0;
i=1;
cate=0;
scanf("%c",&c);
while(i<=n)
{
scanf("%c",&c);
if(c=='X')
{
j++;
a[i][j]=-1;
b[i][j]=-1;
}
if(c=='\n')
{
i++;
j=0;
}
if(c==' ')
j++;
if(c=='J')
{
j++;
l2=i;
c2=j;
}
if(c=='R')
{
j++;
l1=i;
c1=j;
}
}
for(i=0;i<=n+1;i++)
a[i][0]=a[i][m+1]=b[i][0]=b[i][m+1]=-1;
for(i=0;i<=m+1;i++)
a[0][i]=a[n+1][i]=b[0][i]=b[n+1][i]=-1;
in=1;
sf=1;
a[l1][c1]=1;
qx[in]=l1;
qy[in]=c1;
while(in<=sf)
{
x=qx[in];
y=qy[in++];
for(i=0;i<8;i++)
{
px=x+dx[i];
py=y+dy[i];
if(!a[px][py])
{
a[px][py]=1+a[x][y];
qx[++sf]=px;
qy[sf]=py;
}
}
}
in=1;
sf=1;
b[l2][c2]=1;
qx[in]=l2;
qy[in]=c2;
while(in<=sf)
{
x=qx[in];
y=qy[in++];
for(i=0;i<8;i++)
{
px=x+dx[i];
py=y+dy[i];
if(!b[px][py])
{
b[px][py]=1+b[x][y];
qx[++sf]=px;
qy[sf]=py;
}
}
}
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]<min1){min1=a[i][j];l1=i;c1=j;}
printf("%d %d %d",min1,l1,c1);
return 0;
}