#include<stdio.h>
int i,j,n,m,sri,srj,sjj,sji,min=32000,solx,soly;
int cx[10001],cy[10001];
char c;
int R[101][101],J[101][101];
void lee(int si,int sj,int a[101][101])
{
int di[8]={1,0,-1,0,1,-1,1,-1};
int dj[8]={0,1,0,-1,1,-1,-1,1};
int p=1,u=1,i,l,c;
cx[p]=si;
cy[p]=sj;
a[si][sj]=1;
while(p<=u)
{
l=cx[p];
c=cy[p];
for(i=0;i<8;i++)
if(a[l+di[i]][c+dj[i]]==0)
{
u++;
cx[u]=l+di[i];
cy[u]=c+dj[i];
a[l+di[i]][c+dj[i]]=a[l][c]+1;
}
p++;
}
}
int main(void)
{
freopen("rj.in","r",stdin);
freopen("rj.out","w",stdout);
scanf("%d%d\n",&n,&m);
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
scanf("%c",&c);
if(c=='R')
{
sri=i;
srj=j;
}
else
if(c=='J')
{
sji=i;
sjj=j;
}
else
if(c=='X')
{
R[i][j]=-1;
J[i][j]=-1;
}
}
scanf("%c",&c);
}
for(i=0;i<=n+1;i++)
{
R[i][0]=-1;
R[i][m+1]=-1;
J[i][0]=-1;
J[i][m+1]=-1;
}
for(i=0;i<=m+1;i++)
{
R[0][i]=-1;
R[n+1][i]=-1;
J[0][i]=-1;
J[n+1][i]=-1;
}
lee(sri,srj,R);
lee(sji,sjj,J);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(R[i][j]==J[i][j]&&R[i][j]>0&&R[i][j]<min)
{
min=R[i][j];
solx=i;
soly=j;
}
printf("%d %d %d\n",min,solx,soly);
return 0;
}